{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "helper load finish!!!\n",
      "27887\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>UID</th>\n",
       "      <th>day</th>\n",
       "      <th>mode</th>\n",
       "      <th>success</th>\n",
       "      <th>time</th>\n",
       "      <th>os</th>\n",
       "      <th>version</th>\n",
       "      <th>device1</th>\n",
       "      <th>device2</th>\n",
       "      <th>device_code1</th>\n",
       "      <th>...</th>\n",
       "      <th>device_code3</th>\n",
       "      <th>mac1</th>\n",
       "      <th>mac2</th>\n",
       "      <th>ip1</th>\n",
       "      <th>ip2</th>\n",
       "      <th>wifi</th>\n",
       "      <th>geo_code</th>\n",
       "      <th>ip1_sub</th>\n",
       "      <th>ip2_sub</th>\n",
       "      <th>Tag</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>10035</td>\n",
       "      <td>30</td>\n",
       "      <td>c8741ce15ceac2a4</td>\n",
       "      <td>1.0</td>\n",
       "      <td>17:51:50</td>\n",
       "      <td>102</td>\n",
       "      <td>7.0.9</td>\n",
       "      <td>49dd36968dbfadda</td>\n",
       "      <td>OPPO R11</td>\n",
       "      <td>ecb58082e0e9b8e2</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>a8dc52f65085212e</td>\n",
       "      <td>55dd8936655c86f6</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>wskx</td>\n",
       "      <td>e58e48fb9215116e</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>1 rows × 21 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "     UID  day              mode  success      time   os version  \\\n",
       "0  10035   30  c8741ce15ceac2a4      1.0  17:51:50  102   7.0.9   \n",
       "\n",
       "            device1   device2      device_code1 ... device_code3 mac1  \\\n",
       "0  49dd36968dbfadda  OPPO R11  ecb58082e0e9b8e2 ...          NaN  NaN   \n",
       "\n",
       "               mac2               ip1  ip2 wifi geo_code           ip1_sub  \\\n",
       "0  a8dc52f65085212e  55dd8936655c86f6  NaN  NaN     wskx  e58e48fb9215116e   \n",
       "\n",
       "  ip2_sub Tag  \n",
       "0     NaN   0  \n",
       "\n",
       "[1 rows x 21 columns]"
      ]
     },
     "execution_count": 1,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from base_helper import *\n",
    "op_rd1 = get_operation_round1_new()\n",
    "op_tr = get_operation_train_new()\n",
    "tag = get_tag_train_new()\n",
    "# 测试集没有tag\n",
    "op_rd1[tag_hd.Tag] = -1\n",
    "print(len(list(set(op_rd1[tag_hd.UID].tolist()))))\n",
    "op_tr = pd.merge(left=op_tr,right=tag, on=tag_hd.UID)\n",
    "cols = operation_header + [tag_hd.Tag]\n",
    "op_merge = pd.concat([op_tr[cols],op_rd1[cols]])\n",
    "op_merge.head(1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "通过训练学习用户在消费过程中的关联操作、交易详情，来识别交易风险。\n",
    "## 操作详情数据字典：\n",
    "连续违约日期、操作类型、操作状态、操作时间、操作系统、客户端版本号、操作设备参数1,2、操作设备唯一标示1,2，3、mac地址1,2、ip地址1，2、wifi、地理位置、IP1\n",
    "operation_header =  [\"UID\", \"day\", \"mode\", \"success\", \"time\", \"os\", \"version\", \"device1\", \"device2\",\n",
    "                                     \"device_code1\", \"device_code2\", \"device_code3\", \"mac1\", \"mac2\", \"ip1\", \"ip2\",\n",
    "                                     \"wifi\", \"geo_code\", \"ip1_sub\", \"ip2_sub\"]\n",
    "## 交易字典\n",
    "\n",
    "transaction_header =  [\"UID\", \"channel\", \"day\", \"time\", \"trans_amt\", \"amt_src1\", \"merchant\", \"code1\",\n",
    "                                       \"code2\", \"trans_type1\", \"acc_id1\", \"device_code1\", \"device_code2\",\n",
    "                                       \"device_code3\", \"device1\", \"device2\", \"mac1\", \"ip1\", \"bal\", \"amt_src2\",\n",
    "                                       \"acc_id2\", \"acc_id3\", \"geo_code\", \"trans_type2\", \"market_code\", \"market_type\",\n",
    "                                       \"ip1_sub\"]\n",
    "\n",
    "## 数据预处理\n",
    "1）缺失数据补均值\n",
    "2）异常值处理、异常点检测\n",
    "3）去重\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "op_hd.data_effective_num"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>UID</th>\n",
       "      <th>day</th>\n",
       "      <th>mode</th>\n",
       "      <th>success</th>\n",
       "      <th>time</th>\n",
       "      <th>os</th>\n",
       "      <th>version</th>\n",
       "      <th>device1</th>\n",
       "      <th>device2</th>\n",
       "      <th>device_code1</th>\n",
       "      <th>...</th>\n",
       "      <th>mac2</th>\n",
       "      <th>ip1</th>\n",
       "      <th>ip2</th>\n",
       "      <th>wifi</th>\n",
       "      <th>geo_code</th>\n",
       "      <th>ip1_sub</th>\n",
       "      <th>ip2_sub</th>\n",
       "      <th>Tag</th>\n",
       "      <th>data_effective_num</th>\n",
       "      <th>data_lose_rate</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>10035</td>\n",
       "      <td>30</td>\n",
       "      <td>c8741ce15ceac2a4</td>\n",
       "      <td>1.0</td>\n",
       "      <td>17:51:50</td>\n",
       "      <td>102</td>\n",
       "      <td>7.0.9</td>\n",
       "      <td>49dd36968dbfadda</td>\n",
       "      <td>OPPO R11</td>\n",
       "      <td>ecb58082e0e9b8e2</td>\n",
       "      <td>...</td>\n",
       "      <td>a8dc52f65085212e</td>\n",
       "      <td>55dd8936655c86f6</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>wskx</td>\n",
       "      <td>e58e48fb9215116e</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0</td>\n",
       "      <td>16</td>\n",
       "      <td>0.227273</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>1 rows × 23 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "     UID  day              mode  success      time   os version  \\\n",
       "0  10035   30  c8741ce15ceac2a4      1.0  17:51:50  102   7.0.9   \n",
       "\n",
       "            device1   device2      device_code1      ...        \\\n",
       "0  49dd36968dbfadda  OPPO R11  ecb58082e0e9b8e2      ...         \n",
       "\n",
       "               mac2               ip1  ip2 wifi geo_code           ip1_sub  \\\n",
       "0  a8dc52f65085212e  55dd8936655c86f6  NaN  NaN     wskx  e58e48fb9215116e   \n",
       "\n",
       "  ip2_sub Tag data_effective_num data_lose_rate  \n",
       "0     NaN   0                 16       0.227273  \n",
       "\n",
       "[1 rows x 23 columns]"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 1)数据缺失率、数据异常率\n",
    " #按照行来数非缺失值的个数\n",
    "\n",
    "op_merge[op_hd.data_effective_num] = list(op_merge.count(axis=1))\n",
    "# 每行有效值的个数/总数\n",
    "op_merge[op_hd.data_lose_rate] = list((op_merge.shape[1] - op_merge.count(axis=1))/op_merge.shape[1])\n",
    "op_merge.head(1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>UID</th>\n",
       "      <th>mode</th>\n",
       "      <th>success</th>\n",
       "      <th>time</th>\n",
       "      <th>os</th>\n",
       "      <th>version</th>\n",
       "      <th>device1</th>\n",
       "      <th>device2</th>\n",
       "      <th>device_code1</th>\n",
       "      <th>device_code2</th>\n",
       "      <th>...</th>\n",
       "      <th>mac2</th>\n",
       "      <th>ip1</th>\n",
       "      <th>ip2</th>\n",
       "      <th>wifi</th>\n",
       "      <th>geo_code</th>\n",
       "      <th>ip1_sub</th>\n",
       "      <th>ip2_sub</th>\n",
       "      <th>Tag</th>\n",
       "      <th>data_effective_num</th>\n",
       "      <th>data_lose_rate</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>day</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>141123</td>\n",
       "      <td>141123</td>\n",
       "      <td>131229</td>\n",
       "      <td>141123</td>\n",
       "      <td>141123</td>\n",
       "      <td>112511</td>\n",
       "      <td>112685</td>\n",
       "      <td>96962</td>\n",
       "      <td>95939</td>\n",
       "      <td>93390</td>\n",
       "      <td>...</td>\n",
       "      <td>83892</td>\n",
       "      <td>111735</td>\n",
       "      <td>17161</td>\n",
       "      <td>44048</td>\n",
       "      <td>90546</td>\n",
       "      <td>111735</td>\n",
       "      <td>17161</td>\n",
       "      <td>141123</td>\n",
       "      <td>141123</td>\n",
       "      <td>141123</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>72109</td>\n",
       "      <td>72109</td>\n",
       "      <td>68982</td>\n",
       "      <td>72109</td>\n",
       "      <td>72109</td>\n",
       "      <td>58739</td>\n",
       "      <td>58830</td>\n",
       "      <td>53981</td>\n",
       "      <td>48733</td>\n",
       "      <td>47620</td>\n",
       "      <td>...</td>\n",
       "      <td>43290</td>\n",
       "      <td>58192</td>\n",
       "      <td>9447</td>\n",
       "      <td>24765</td>\n",
       "      <td>46645</td>\n",
       "      <td>58192</td>\n",
       "      <td>9447</td>\n",
       "      <td>72109</td>\n",
       "      <td>72109</td>\n",
       "      <td>72109</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>64079</td>\n",
       "      <td>64079</td>\n",
       "      <td>61200</td>\n",
       "      <td>64079</td>\n",
       "      <td>64079</td>\n",
       "      <td>49691</td>\n",
       "      <td>49778</td>\n",
       "      <td>46100</td>\n",
       "      <td>39636</td>\n",
       "      <td>38772</td>\n",
       "      <td>...</td>\n",
       "      <td>35698</td>\n",
       "      <td>49233</td>\n",
       "      <td>10899</td>\n",
       "      <td>20690</td>\n",
       "      <td>38007</td>\n",
       "      <td>49233</td>\n",
       "      <td>10899</td>\n",
       "      <td>64079</td>\n",
       "      <td>64079</td>\n",
       "      <td>64079</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>68010</td>\n",
       "      <td>68010</td>\n",
       "      <td>63620</td>\n",
       "      <td>68010</td>\n",
       "      <td>68010</td>\n",
       "      <td>53175</td>\n",
       "      <td>53258</td>\n",
       "      <td>48272</td>\n",
       "      <td>43082</td>\n",
       "      <td>42210</td>\n",
       "      <td>...</td>\n",
       "      <td>37944</td>\n",
       "      <td>52773</td>\n",
       "      <td>9811</td>\n",
       "      <td>21147</td>\n",
       "      <td>40346</td>\n",
       "      <td>52773</td>\n",
       "      <td>9811</td>\n",
       "      <td>68010</td>\n",
       "      <td>68010</td>\n",
       "      <td>68010</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>100200</td>\n",
       "      <td>100200</td>\n",
       "      <td>94689</td>\n",
       "      <td>100200</td>\n",
       "      <td>100200</td>\n",
       "      <td>85784</td>\n",
       "      <td>85862</td>\n",
       "      <td>74577</td>\n",
       "      <td>72666</td>\n",
       "      <td>70317</td>\n",
       "      <td>...</td>\n",
       "      <td>60183</td>\n",
       "      <td>85044</td>\n",
       "      <td>7804</td>\n",
       "      <td>29646</td>\n",
       "      <td>68122</td>\n",
       "      <td>85044</td>\n",
       "      <td>7804</td>\n",
       "      <td>100200</td>\n",
       "      <td>100200</td>\n",
       "      <td>100200</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>85481</td>\n",
       "      <td>85481</td>\n",
       "      <td>80910</td>\n",
       "      <td>85481</td>\n",
       "      <td>85481</td>\n",
       "      <td>69265</td>\n",
       "      <td>69685</td>\n",
       "      <td>61454</td>\n",
       "      <td>57565</td>\n",
       "      <td>56063</td>\n",
       "      <td>...</td>\n",
       "      <td>48343</td>\n",
       "      <td>69148</td>\n",
       "      <td>10493</td>\n",
       "      <td>25479</td>\n",
       "      <td>54873</td>\n",
       "      <td>69148</td>\n",
       "      <td>10493</td>\n",
       "      <td>85481</td>\n",
       "      <td>85481</td>\n",
       "      <td>85481</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>173374</td>\n",
       "      <td>173374</td>\n",
       "      <td>162021</td>\n",
       "      <td>173374</td>\n",
       "      <td>173374</td>\n",
       "      <td>139112</td>\n",
       "      <td>139199</td>\n",
       "      <td>119985</td>\n",
       "      <td>119413</td>\n",
       "      <td>115547</td>\n",
       "      <td>...</td>\n",
       "      <td>99927</td>\n",
       "      <td>138207</td>\n",
       "      <td>20270</td>\n",
       "      <td>51120</td>\n",
       "      <td>111680</td>\n",
       "      <td>138207</td>\n",
       "      <td>20270</td>\n",
       "      <td>173374</td>\n",
       "      <td>173374</td>\n",
       "      <td>173374</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>129252</td>\n",
       "      <td>129252</td>\n",
       "      <td>121988</td>\n",
       "      <td>129252</td>\n",
       "      <td>129252</td>\n",
       "      <td>103028</td>\n",
       "      <td>103139</td>\n",
       "      <td>89364</td>\n",
       "      <td>85811</td>\n",
       "      <td>82923</td>\n",
       "      <td>...</td>\n",
       "      <td>72708</td>\n",
       "      <td>102247</td>\n",
       "      <td>17734</td>\n",
       "      <td>39360</td>\n",
       "      <td>81509</td>\n",
       "      <td>102247</td>\n",
       "      <td>17734</td>\n",
       "      <td>129252</td>\n",
       "      <td>129252</td>\n",
       "      <td>129252</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>81880</td>\n",
       "      <td>81880</td>\n",
       "      <td>77676</td>\n",
       "      <td>81880</td>\n",
       "      <td>81880</td>\n",
       "      <td>71063</td>\n",
       "      <td>71165</td>\n",
       "      <td>63465</td>\n",
       "      <td>57655</td>\n",
       "      <td>56297</td>\n",
       "      <td>...</td>\n",
       "      <td>48884</td>\n",
       "      <td>70157</td>\n",
       "      <td>5360</td>\n",
       "      <td>27981</td>\n",
       "      <td>54467</td>\n",
       "      <td>70157</td>\n",
       "      <td>5360</td>\n",
       "      <td>81880</td>\n",
       "      <td>81880</td>\n",
       "      <td>81880</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>86997</td>\n",
       "      <td>86997</td>\n",
       "      <td>82729</td>\n",
       "      <td>86997</td>\n",
       "      <td>86997</td>\n",
       "      <td>77730</td>\n",
       "      <td>77775</td>\n",
       "      <td>69970</td>\n",
       "      <td>65415</td>\n",
       "      <td>62388</td>\n",
       "      <td>...</td>\n",
       "      <td>56049</td>\n",
       "      <td>77101</td>\n",
       "      <td>3803</td>\n",
       "      <td>34524</td>\n",
       "      <td>61600</td>\n",
       "      <td>77101</td>\n",
       "      <td>3803</td>\n",
       "      <td>86997</td>\n",
       "      <td>86997</td>\n",
       "      <td>86997</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>80997</td>\n",
       "      <td>80997</td>\n",
       "      <td>77115</td>\n",
       "      <td>80997</td>\n",
       "      <td>80997</td>\n",
       "      <td>71263</td>\n",
       "      <td>71372</td>\n",
       "      <td>64233</td>\n",
       "      <td>59555</td>\n",
       "      <td>58131</td>\n",
       "      <td>...</td>\n",
       "      <td>49598</td>\n",
       "      <td>70505</td>\n",
       "      <td>4650</td>\n",
       "      <td>27966</td>\n",
       "      <td>54972</td>\n",
       "      <td>70505</td>\n",
       "      <td>4650</td>\n",
       "      <td>80997</td>\n",
       "      <td>80997</td>\n",
       "      <td>80997</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>114424</td>\n",
       "      <td>114424</td>\n",
       "      <td>107600</td>\n",
       "      <td>114424</td>\n",
       "      <td>114424</td>\n",
       "      <td>88764</td>\n",
       "      <td>88907</td>\n",
       "      <td>77456</td>\n",
       "      <td>75184</td>\n",
       "      <td>73429</td>\n",
       "      <td>...</td>\n",
       "      <td>68314</td>\n",
       "      <td>87999</td>\n",
       "      <td>17936</td>\n",
       "      <td>36266</td>\n",
       "      <td>70813</td>\n",
       "      <td>87999</td>\n",
       "      <td>17936</td>\n",
       "      <td>114424</td>\n",
       "      <td>114424</td>\n",
       "      <td>114424</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>139452</td>\n",
       "      <td>139452</td>\n",
       "      <td>130687</td>\n",
       "      <td>139452</td>\n",
       "      <td>139452</td>\n",
       "      <td>118620</td>\n",
       "      <td>118762</td>\n",
       "      <td>102603</td>\n",
       "      <td>102132</td>\n",
       "      <td>99121</td>\n",
       "      <td>...</td>\n",
       "      <td>81099</td>\n",
       "      <td>117472</td>\n",
       "      <td>10349</td>\n",
       "      <td>38426</td>\n",
       "      <td>91472</td>\n",
       "      <td>117472</td>\n",
       "      <td>10349</td>\n",
       "      <td>139452</td>\n",
       "      <td>139452</td>\n",
       "      <td>139452</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>103154</td>\n",
       "      <td>103154</td>\n",
       "      <td>98604</td>\n",
       "      <td>103154</td>\n",
       "      <td>103154</td>\n",
       "      <td>84323</td>\n",
       "      <td>84466</td>\n",
       "      <td>73599</td>\n",
       "      <td>71551</td>\n",
       "      <td>69546</td>\n",
       "      <td>...</td>\n",
       "      <td>57442</td>\n",
       "      <td>83467</td>\n",
       "      <td>12885</td>\n",
       "      <td>28693</td>\n",
       "      <td>66619</td>\n",
       "      <td>83467</td>\n",
       "      <td>12885</td>\n",
       "      <td>103154</td>\n",
       "      <td>103154</td>\n",
       "      <td>103154</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>151889</td>\n",
       "      <td>151889</td>\n",
       "      <td>142230</td>\n",
       "      <td>151889</td>\n",
       "      <td>151889</td>\n",
       "      <td>127753</td>\n",
       "      <td>127955</td>\n",
       "      <td>108821</td>\n",
       "      <td>109902</td>\n",
       "      <td>105566</td>\n",
       "      <td>...</td>\n",
       "      <td>90989</td>\n",
       "      <td>127038</td>\n",
       "      <td>12217</td>\n",
       "      <td>44788</td>\n",
       "      <td>101939</td>\n",
       "      <td>127038</td>\n",
       "      <td>12217</td>\n",
       "      <td>151889</td>\n",
       "      <td>151889</td>\n",
       "      <td>151889</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>104415</td>\n",
       "      <td>104415</td>\n",
       "      <td>98688</td>\n",
       "      <td>104415</td>\n",
       "      <td>104415</td>\n",
       "      <td>88830</td>\n",
       "      <td>89018</td>\n",
       "      <td>76941</td>\n",
       "      <td>75200</td>\n",
       "      <td>73266</td>\n",
       "      <td>...</td>\n",
       "      <td>63373</td>\n",
       "      <td>88108</td>\n",
       "      <td>8521</td>\n",
       "      <td>32982</td>\n",
       "      <td>70877</td>\n",
       "      <td>88108</td>\n",
       "      <td>8521</td>\n",
       "      <td>104415</td>\n",
       "      <td>104415</td>\n",
       "      <td>104415</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>69027</td>\n",
       "      <td>69027</td>\n",
       "      <td>64642</td>\n",
       "      <td>69027</td>\n",
       "      <td>69027</td>\n",
       "      <td>59131</td>\n",
       "      <td>59287</td>\n",
       "      <td>52573</td>\n",
       "      <td>48223</td>\n",
       "      <td>46891</td>\n",
       "      <td>...</td>\n",
       "      <td>40592</td>\n",
       "      <td>58576</td>\n",
       "      <td>4352</td>\n",
       "      <td>22820</td>\n",
       "      <td>45167</td>\n",
       "      <td>58576</td>\n",
       "      <td>4352</td>\n",
       "      <td>69027</td>\n",
       "      <td>69027</td>\n",
       "      <td>69027</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>92315</td>\n",
       "      <td>92315</td>\n",
       "      <td>87448</td>\n",
       "      <td>92315</td>\n",
       "      <td>92315</td>\n",
       "      <td>76987</td>\n",
       "      <td>77151</td>\n",
       "      <td>67133</td>\n",
       "      <td>64120</td>\n",
       "      <td>62731</td>\n",
       "      <td>...</td>\n",
       "      <td>53819</td>\n",
       "      <td>76184</td>\n",
       "      <td>8901</td>\n",
       "      <td>27415</td>\n",
       "      <td>59932</td>\n",
       "      <td>76184</td>\n",
       "      <td>8901</td>\n",
       "      <td>92315</td>\n",
       "      <td>92315</td>\n",
       "      <td>92315</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>81476</td>\n",
       "      <td>81476</td>\n",
       "      <td>77694</td>\n",
       "      <td>81476</td>\n",
       "      <td>81476</td>\n",
       "      <td>64754</td>\n",
       "      <td>64920</td>\n",
       "      <td>56141</td>\n",
       "      <td>54949</td>\n",
       "      <td>53963</td>\n",
       "      <td>...</td>\n",
       "      <td>45069</td>\n",
       "      <td>64107</td>\n",
       "      <td>11744</td>\n",
       "      <td>22414</td>\n",
       "      <td>46829</td>\n",
       "      <td>64107</td>\n",
       "      <td>11744</td>\n",
       "      <td>81476</td>\n",
       "      <td>81476</td>\n",
       "      <td>81476</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>151844</td>\n",
       "      <td>151844</td>\n",
       "      <td>135999</td>\n",
       "      <td>151844</td>\n",
       "      <td>151844</td>\n",
       "      <td>118976</td>\n",
       "      <td>119168</td>\n",
       "      <td>95208</td>\n",
       "      <td>103990</td>\n",
       "      <td>100608</td>\n",
       "      <td>...</td>\n",
       "      <td>85057</td>\n",
       "      <td>117896</td>\n",
       "      <td>15234</td>\n",
       "      <td>35170</td>\n",
       "      <td>86833</td>\n",
       "      <td>117896</td>\n",
       "      <td>15234</td>\n",
       "      <td>151844</td>\n",
       "      <td>151844</td>\n",
       "      <td>151844</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>123464</td>\n",
       "      <td>123464</td>\n",
       "      <td>116895</td>\n",
       "      <td>123464</td>\n",
       "      <td>123464</td>\n",
       "      <td>100023</td>\n",
       "      <td>100194</td>\n",
       "      <td>83822</td>\n",
       "      <td>84881</td>\n",
       "      <td>82742</td>\n",
       "      <td>...</td>\n",
       "      <td>70840</td>\n",
       "      <td>98611</td>\n",
       "      <td>15312</td>\n",
       "      <td>34352</td>\n",
       "      <td>78906</td>\n",
       "      <td>98611</td>\n",
       "      <td>15312</td>\n",
       "      <td>123464</td>\n",
       "      <td>123464</td>\n",
       "      <td>123464</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>148716</td>\n",
       "      <td>148716</td>\n",
       "      <td>139783</td>\n",
       "      <td>148716</td>\n",
       "      <td>148716</td>\n",
       "      <td>125470</td>\n",
       "      <td>125609</td>\n",
       "      <td>106103</td>\n",
       "      <td>108242</td>\n",
       "      <td>104987</td>\n",
       "      <td>...</td>\n",
       "      <td>90406</td>\n",
       "      <td>124517</td>\n",
       "      <td>12373</td>\n",
       "      <td>43861</td>\n",
       "      <td>102020</td>\n",
       "      <td>124517</td>\n",
       "      <td>12373</td>\n",
       "      <td>148716</td>\n",
       "      <td>148716</td>\n",
       "      <td>148716</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>88194</td>\n",
       "      <td>88194</td>\n",
       "      <td>84574</td>\n",
       "      <td>88194</td>\n",
       "      <td>88194</td>\n",
       "      <td>66426</td>\n",
       "      <td>66567</td>\n",
       "      <td>61293</td>\n",
       "      <td>53876</td>\n",
       "      <td>53019</td>\n",
       "      <td>...</td>\n",
       "      <td>49344</td>\n",
       "      <td>65871</td>\n",
       "      <td>17425</td>\n",
       "      <td>29824</td>\n",
       "      <td>52435</td>\n",
       "      <td>65871</td>\n",
       "      <td>17425</td>\n",
       "      <td>88194</td>\n",
       "      <td>88194</td>\n",
       "      <td>88194</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>30</th>\n",
       "      <td>109137</td>\n",
       "      <td>109137</td>\n",
       "      <td>101967</td>\n",
       "      <td>109137</td>\n",
       "      <td>109137</td>\n",
       "      <td>90490</td>\n",
       "      <td>90598</td>\n",
       "      <td>74851</td>\n",
       "      <td>77351</td>\n",
       "      <td>75178</td>\n",
       "      <td>...</td>\n",
       "      <td>65819</td>\n",
       "      <td>89604</td>\n",
       "      <td>10114</td>\n",
       "      <td>31423</td>\n",
       "      <td>69931</td>\n",
       "      <td>89604</td>\n",
       "      <td>10114</td>\n",
       "      <td>109137</td>\n",
       "      <td>109137</td>\n",
       "      <td>109137</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>31</th>\n",
       "      <td>38391</td>\n",
       "      <td>38391</td>\n",
       "      <td>34583</td>\n",
       "      <td>38391</td>\n",
       "      <td>38391</td>\n",
       "      <td>28114</td>\n",
       "      <td>28205</td>\n",
       "      <td>24908</td>\n",
       "      <td>23759</td>\n",
       "      <td>23504</td>\n",
       "      <td>...</td>\n",
       "      <td>20483</td>\n",
       "      <td>27833</td>\n",
       "      <td>6017</td>\n",
       "      <td>8834</td>\n",
       "      <td>20327</td>\n",
       "      <td>27833</td>\n",
       "      <td>6017</td>\n",
       "      <td>38391</td>\n",
       "      <td>38391</td>\n",
       "      <td>38391</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>80513</td>\n",
       "      <td>80513</td>\n",
       "      <td>77281</td>\n",
       "      <td>80513</td>\n",
       "      <td>80513</td>\n",
       "      <td>61512</td>\n",
       "      <td>61600</td>\n",
       "      <td>56838</td>\n",
       "      <td>49888</td>\n",
       "      <td>49110</td>\n",
       "      <td>...</td>\n",
       "      <td>45637</td>\n",
       "      <td>60820</td>\n",
       "      <td>15085</td>\n",
       "      <td>26208</td>\n",
       "      <td>48012</td>\n",
       "      <td>60820</td>\n",
       "      <td>15085</td>\n",
       "      <td>80513</td>\n",
       "      <td>80513</td>\n",
       "      <td>80513</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>87151</td>\n",
       "      <td>87151</td>\n",
       "      <td>83383</td>\n",
       "      <td>87151</td>\n",
       "      <td>87151</td>\n",
       "      <td>71336</td>\n",
       "      <td>71428</td>\n",
       "      <td>65536</td>\n",
       "      <td>58352</td>\n",
       "      <td>57285</td>\n",
       "      <td>...</td>\n",
       "      <td>51774</td>\n",
       "      <td>70708</td>\n",
       "      <td>10886</td>\n",
       "      <td>29621</td>\n",
       "      <td>55613</td>\n",
       "      <td>70708</td>\n",
       "      <td>10886</td>\n",
       "      <td>87151</td>\n",
       "      <td>87151</td>\n",
       "      <td>87151</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>121665</td>\n",
       "      <td>121665</td>\n",
       "      <td>113189</td>\n",
       "      <td>121665</td>\n",
       "      <td>121665</td>\n",
       "      <td>100794</td>\n",
       "      <td>100875</td>\n",
       "      <td>89290</td>\n",
       "      <td>86065</td>\n",
       "      <td>84445</td>\n",
       "      <td>...</td>\n",
       "      <td>73442</td>\n",
       "      <td>99949</td>\n",
       "      <td>11426</td>\n",
       "      <td>34911</td>\n",
       "      <td>75572</td>\n",
       "      <td>99949</td>\n",
       "      <td>11426</td>\n",
       "      <td>121665</td>\n",
       "      <td>121665</td>\n",
       "      <td>121665</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>101354</td>\n",
       "      <td>101354</td>\n",
       "      <td>94741</td>\n",
       "      <td>101354</td>\n",
       "      <td>101354</td>\n",
       "      <td>78708</td>\n",
       "      <td>78777</td>\n",
       "      <td>70542</td>\n",
       "      <td>66689</td>\n",
       "      <td>65115</td>\n",
       "      <td>...</td>\n",
       "      <td>57828</td>\n",
       "      <td>78103</td>\n",
       "      <td>15297</td>\n",
       "      <td>30301</td>\n",
       "      <td>59376</td>\n",
       "      <td>78103</td>\n",
       "      <td>15297</td>\n",
       "      <td>101354</td>\n",
       "      <td>101354</td>\n",
       "      <td>101354</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>149305</td>\n",
       "      <td>149305</td>\n",
       "      <td>138527</td>\n",
       "      <td>149305</td>\n",
       "      <td>149305</td>\n",
       "      <td>119568</td>\n",
       "      <td>119676</td>\n",
       "      <td>102925</td>\n",
       "      <td>102235</td>\n",
       "      <td>99038</td>\n",
       "      <td>...</td>\n",
       "      <td>86799</td>\n",
       "      <td>119034</td>\n",
       "      <td>17082</td>\n",
       "      <td>46036</td>\n",
       "      <td>95294</td>\n",
       "      <td>119034</td>\n",
       "      <td>17082</td>\n",
       "      <td>149305</td>\n",
       "      <td>149305</td>\n",
       "      <td>149305</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>90504</td>\n",
       "      <td>90504</td>\n",
       "      <td>85310</td>\n",
       "      <td>90504</td>\n",
       "      <td>90504</td>\n",
       "      <td>74627</td>\n",
       "      <td>74724</td>\n",
       "      <td>65727</td>\n",
       "      <td>63147</td>\n",
       "      <td>61425</td>\n",
       "      <td>...</td>\n",
       "      <td>55396</td>\n",
       "      <td>74034</td>\n",
       "      <td>9868</td>\n",
       "      <td>29658</td>\n",
       "      <td>59713</td>\n",
       "      <td>74034</td>\n",
       "      <td>9868</td>\n",
       "      <td>90504</td>\n",
       "      <td>90504</td>\n",
       "      <td>90504</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>31 rows × 22 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "        UID    mode  success    time      os  version  device1  device2  \\\n",
       "day                                                                       \n",
       "1    141123  141123   131229  141123  141123   112511   112685    96962   \n",
       "10    72109   72109    68982   72109   72109    58739    58830    53981   \n",
       "11    64079   64079    61200   64079   64079    49691    49778    46100   \n",
       "12    68010   68010    63620   68010   68010    53175    53258    48272   \n",
       "13   100200  100200    94689  100200  100200    85784    85862    74577   \n",
       "14    85481   85481    80910   85481   85481    69265    69685    61454   \n",
       "15   173374  173374   162021  173374  173374   139112   139199   119985   \n",
       "16   129252  129252   121988  129252  129252   103028   103139    89364   \n",
       "17    81880   81880    77676   81880   81880    71063    71165    63465   \n",
       "18    86997   86997    82729   86997   86997    77730    77775    69970   \n",
       "19    80997   80997    77115   80997   80997    71263    71372    64233   \n",
       "2    114424  114424   107600  114424  114424    88764    88907    77456   \n",
       "20   139452  139452   130687  139452  139452   118620   118762   102603   \n",
       "21   103154  103154    98604  103154  103154    84323    84466    73599   \n",
       "22   151889  151889   142230  151889  151889   127753   127955   108821   \n",
       "23   104415  104415    98688  104415  104415    88830    89018    76941   \n",
       "24    69027   69027    64642   69027   69027    59131    59287    52573   \n",
       "25    92315   92315    87448   92315   92315    76987    77151    67133   \n",
       "26    81476   81476    77694   81476   81476    64754    64920    56141   \n",
       "27   151844  151844   135999  151844  151844   118976   119168    95208   \n",
       "28   123464  123464   116895  123464  123464   100023   100194    83822   \n",
       "29   148716  148716   139783  148716  148716   125470   125609   106103   \n",
       "3     88194   88194    84574   88194   88194    66426    66567    61293   \n",
       "30   109137  109137   101967  109137  109137    90490    90598    74851   \n",
       "31    38391   38391    34583   38391   38391    28114    28205    24908   \n",
       "4     80513   80513    77281   80513   80513    61512    61600    56838   \n",
       "5     87151   87151    83383   87151   87151    71336    71428    65536   \n",
       "6    121665  121665   113189  121665  121665   100794   100875    89290   \n",
       "7    101354  101354    94741  101354  101354    78708    78777    70542   \n",
       "8    149305  149305   138527  149305  149305   119568   119676   102925   \n",
       "9     90504   90504    85310   90504   90504    74627    74724    65727   \n",
       "\n",
       "     device_code1  device_code2       ...         mac2     ip1    ip2   wifi  \\\n",
       "day                                   ...                                      \n",
       "1           95939         93390       ...        83892  111735  17161  44048   \n",
       "10          48733         47620       ...        43290   58192   9447  24765   \n",
       "11          39636         38772       ...        35698   49233  10899  20690   \n",
       "12          43082         42210       ...        37944   52773   9811  21147   \n",
       "13          72666         70317       ...        60183   85044   7804  29646   \n",
       "14          57565         56063       ...        48343   69148  10493  25479   \n",
       "15         119413        115547       ...        99927  138207  20270  51120   \n",
       "16          85811         82923       ...        72708  102247  17734  39360   \n",
       "17          57655         56297       ...        48884   70157   5360  27981   \n",
       "18          65415         62388       ...        56049   77101   3803  34524   \n",
       "19          59555         58131       ...        49598   70505   4650  27966   \n",
       "2           75184         73429       ...        68314   87999  17936  36266   \n",
       "20         102132         99121       ...        81099  117472  10349  38426   \n",
       "21          71551         69546       ...        57442   83467  12885  28693   \n",
       "22         109902        105566       ...        90989  127038  12217  44788   \n",
       "23          75200         73266       ...        63373   88108   8521  32982   \n",
       "24          48223         46891       ...        40592   58576   4352  22820   \n",
       "25          64120         62731       ...        53819   76184   8901  27415   \n",
       "26          54949         53963       ...        45069   64107  11744  22414   \n",
       "27         103990        100608       ...        85057  117896  15234  35170   \n",
       "28          84881         82742       ...        70840   98611  15312  34352   \n",
       "29         108242        104987       ...        90406  124517  12373  43861   \n",
       "3           53876         53019       ...        49344   65871  17425  29824   \n",
       "30          77351         75178       ...        65819   89604  10114  31423   \n",
       "31          23759         23504       ...        20483   27833   6017   8834   \n",
       "4           49888         49110       ...        45637   60820  15085  26208   \n",
       "5           58352         57285       ...        51774   70708  10886  29621   \n",
       "6           86065         84445       ...        73442   99949  11426  34911   \n",
       "7           66689         65115       ...        57828   78103  15297  30301   \n",
       "8          102235         99038       ...        86799  119034  17082  46036   \n",
       "9           63147         61425       ...        55396   74034   9868  29658   \n",
       "\n",
       "     geo_code  ip1_sub  ip2_sub     Tag  data_effective_num  data_lose_rate  \n",
       "day                                                                          \n",
       "1       90546   111735    17161  141123              141123          141123  \n",
       "10      46645    58192     9447   72109               72109           72109  \n",
       "11      38007    49233    10899   64079               64079           64079  \n",
       "12      40346    52773     9811   68010               68010           68010  \n",
       "13      68122    85044     7804  100200              100200          100200  \n",
       "14      54873    69148    10493   85481               85481           85481  \n",
       "15     111680   138207    20270  173374              173374          173374  \n",
       "16      81509   102247    17734  129252              129252          129252  \n",
       "17      54467    70157     5360   81880               81880           81880  \n",
       "18      61600    77101     3803   86997               86997           86997  \n",
       "19      54972    70505     4650   80997               80997           80997  \n",
       "2       70813    87999    17936  114424              114424          114424  \n",
       "20      91472   117472    10349  139452              139452          139452  \n",
       "21      66619    83467    12885  103154              103154          103154  \n",
       "22     101939   127038    12217  151889              151889          151889  \n",
       "23      70877    88108     8521  104415              104415          104415  \n",
       "24      45167    58576     4352   69027               69027           69027  \n",
       "25      59932    76184     8901   92315               92315           92315  \n",
       "26      46829    64107    11744   81476               81476           81476  \n",
       "27      86833   117896    15234  151844              151844          151844  \n",
       "28      78906    98611    15312  123464              123464          123464  \n",
       "29     102020   124517    12373  148716              148716          148716  \n",
       "3       52435    65871    17425   88194               88194           88194  \n",
       "30      69931    89604    10114  109137              109137          109137  \n",
       "31      20327    27833     6017   38391               38391           38391  \n",
       "4       48012    60820    15085   80513               80513           80513  \n",
       "5       55613    70708    10886   87151               87151           87151  \n",
       "6       75572    99949    11426  121665              121665          121665  \n",
       "7       59376    78103    15297  101354              101354          101354  \n",
       "8       95294   119034    17082  149305              149305          149305  \n",
       "9       59713    74034     9868   90504               90504           90504  \n",
       "\n",
       "[31 rows x 22 columns]"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# op_merge.groupby(op_hd.time[:5]).count() \n",
    "op_merge.groupby(op_hd.day).count() "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0          17\n",
       "1          09\n",
       "2          09\n",
       "3          20\n",
       "4          12\n",
       "5          19\n",
       "6          13\n",
       "7          14\n",
       "8          21\n",
       "9          14\n",
       "10         09\n",
       "11         13\n",
       "12         22\n",
       "13         17\n",
       "14         18\n",
       "15         07\n",
       "16         07\n",
       "17         17\n",
       "18         08\n",
       "19         14\n",
       "20         13\n",
       "21         19\n",
       "22         18\n",
       "23         07\n",
       "24         09\n",
       "25         22\n",
       "26         14\n",
       "27         13\n",
       "28         20\n",
       "29         14\n",
       "           ..\n",
       "1769019    16\n",
       "1769020    15\n",
       "1769021    13\n",
       "1769022    23\n",
       "1769023    14\n",
       "1769024    14\n",
       "1769025    20\n",
       "1769026    08\n",
       "1769027    19\n",
       "1769028    22\n",
       "1769029    14\n",
       "1769030    23\n",
       "1769031    16\n",
       "1769032    11\n",
       "1769033    07\n",
       "1769034    12\n",
       "1769035    11\n",
       "1769036    17\n",
       "1769037    18\n",
       "1769038    01\n",
       "1769039    18\n",
       "1769040    16\n",
       "1769041    10\n",
       "1769042    11\n",
       "1769043    15\n",
       "1769044    14\n",
       "1769045    07\n",
       "1769046    09\n",
       "1769047    07\n",
       "1769048    11\n",
       "Name: time, Length: 3229892, dtype: object"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# pd.to_pickle(op_merge,features_base_path+\"op_merge.pkl\")\n",
    "# op_merge.groupby(op_hd.time[:5]).count() \n",
    "op_merge[op_hd.time] = op_merge[op_hd.time].map(lambda x:str(x)[:2])\n",
    "op_merge[op_hd.time]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>time</th>\n",
       "      <th>UID</th>\n",
       "      <th>day</th>\n",
       "      <th>mode</th>\n",
       "      <th>success</th>\n",
       "      <th>os</th>\n",
       "      <th>version</th>\n",
       "      <th>device1</th>\n",
       "      <th>device2</th>\n",
       "      <th>device_code1</th>\n",
       "      <th>...</th>\n",
       "      <th>mac2</th>\n",
       "      <th>ip1</th>\n",
       "      <th>ip2</th>\n",
       "      <th>wifi</th>\n",
       "      <th>geo_code</th>\n",
       "      <th>ip1_sub</th>\n",
       "      <th>ip2_sub</th>\n",
       "      <th>Tag</th>\n",
       "      <th>data_effective_num</th>\n",
       "      <th>data_lose_rate</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>00</td>\n",
       "      <td>46337</td>\n",
       "      <td>46337</td>\n",
       "      <td>46337</td>\n",
       "      <td>44472</td>\n",
       "      <td>46337</td>\n",
       "      <td>33366</td>\n",
       "      <td>33576</td>\n",
       "      <td>30946</td>\n",
       "      <td>26118</td>\n",
       "      <td>...</td>\n",
       "      <td>23639</td>\n",
       "      <td>33061</td>\n",
       "      <td>10580</td>\n",
       "      <td>17542</td>\n",
       "      <td>25330</td>\n",
       "      <td>33061</td>\n",
       "      <td>10580</td>\n",
       "      <td>46337</td>\n",
       "      <td>46337</td>\n",
       "      <td>46337</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>01</td>\n",
       "      <td>19297</td>\n",
       "      <td>19297</td>\n",
       "      <td>19297</td>\n",
       "      <td>18372</td>\n",
       "      <td>19297</td>\n",
       "      <td>14169</td>\n",
       "      <td>14230</td>\n",
       "      <td>13047</td>\n",
       "      <td>10751</td>\n",
       "      <td>...</td>\n",
       "      <td>9793</td>\n",
       "      <td>13978</td>\n",
       "      <td>3943</td>\n",
       "      <td>7174</td>\n",
       "      <td>10455</td>\n",
       "      <td>13978</td>\n",
       "      <td>3943</td>\n",
       "      <td>19297</td>\n",
       "      <td>19297</td>\n",
       "      <td>19297</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>02</td>\n",
       "      <td>11092</td>\n",
       "      <td>11092</td>\n",
       "      <td>11092</td>\n",
       "      <td>10418</td>\n",
       "      <td>11092</td>\n",
       "      <td>8396</td>\n",
       "      <td>8429</td>\n",
       "      <td>7680</td>\n",
       "      <td>6487</td>\n",
       "      <td>...</td>\n",
       "      <td>5911</td>\n",
       "      <td>8346</td>\n",
       "      <td>1852</td>\n",
       "      <td>4189</td>\n",
       "      <td>6201</td>\n",
       "      <td>8346</td>\n",
       "      <td>1852</td>\n",
       "      <td>11092</td>\n",
       "      <td>11092</td>\n",
       "      <td>11092</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>03</td>\n",
       "      <td>7888</td>\n",
       "      <td>7888</td>\n",
       "      <td>7888</td>\n",
       "      <td>7338</td>\n",
       "      <td>7888</td>\n",
       "      <td>5946</td>\n",
       "      <td>5968</td>\n",
       "      <td>5459</td>\n",
       "      <td>4586</td>\n",
       "      <td>...</td>\n",
       "      <td>4274</td>\n",
       "      <td>5904</td>\n",
       "      <td>1307</td>\n",
       "      <td>3143</td>\n",
       "      <td>4480</td>\n",
       "      <td>5904</td>\n",
       "      <td>1307</td>\n",
       "      <td>7888</td>\n",
       "      <td>7888</td>\n",
       "      <td>7888</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>04</td>\n",
       "      <td>11497</td>\n",
       "      <td>11497</td>\n",
       "      <td>11497</td>\n",
       "      <td>10822</td>\n",
       "      <td>11497</td>\n",
       "      <td>8409</td>\n",
       "      <td>8439</td>\n",
       "      <td>7854</td>\n",
       "      <td>7208</td>\n",
       "      <td>...</td>\n",
       "      <td>6744</td>\n",
       "      <td>8380</td>\n",
       "      <td>2290</td>\n",
       "      <td>4750</td>\n",
       "      <td>6831</td>\n",
       "      <td>8380</td>\n",
       "      <td>2290</td>\n",
       "      <td>11497</td>\n",
       "      <td>11497</td>\n",
       "      <td>11497</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>05</td>\n",
       "      <td>27419</td>\n",
       "      <td>27419</td>\n",
       "      <td>27419</td>\n",
       "      <td>26496</td>\n",
       "      <td>27419</td>\n",
       "      <td>20252</td>\n",
       "      <td>20295</td>\n",
       "      <td>18833</td>\n",
       "      <td>18025</td>\n",
       "      <td>...</td>\n",
       "      <td>16829</td>\n",
       "      <td>20192</td>\n",
       "      <td>6085</td>\n",
       "      <td>11694</td>\n",
       "      <td>16691</td>\n",
       "      <td>20192</td>\n",
       "      <td>6085</td>\n",
       "      <td>27419</td>\n",
       "      <td>27419</td>\n",
       "      <td>27419</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>06</td>\n",
       "      <td>71305</td>\n",
       "      <td>71305</td>\n",
       "      <td>71305</td>\n",
       "      <td>68832</td>\n",
       "      <td>71305</td>\n",
       "      <td>52384</td>\n",
       "      <td>52505</td>\n",
       "      <td>48032</td>\n",
       "      <td>46046</td>\n",
       "      <td>...</td>\n",
       "      <td>42740</td>\n",
       "      <td>52085</td>\n",
       "      <td>15989</td>\n",
       "      <td>28475</td>\n",
       "      <td>43149</td>\n",
       "      <td>52085</td>\n",
       "      <td>15989</td>\n",
       "      <td>71305</td>\n",
       "      <td>71305</td>\n",
       "      <td>71305</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>07</td>\n",
       "      <td>137427</td>\n",
       "      <td>137427</td>\n",
       "      <td>137427</td>\n",
       "      <td>131342</td>\n",
       "      <td>137427</td>\n",
       "      <td>101083</td>\n",
       "      <td>101257</td>\n",
       "      <td>89597</td>\n",
       "      <td>86483</td>\n",
       "      <td>...</td>\n",
       "      <td>78563</td>\n",
       "      <td>100254</td>\n",
       "      <td>29203</td>\n",
       "      <td>44268</td>\n",
       "      <td>80585</td>\n",
       "      <td>100254</td>\n",
       "      <td>29203</td>\n",
       "      <td>137427</td>\n",
       "      <td>137427</td>\n",
       "      <td>137427</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>08</td>\n",
       "      <td>223383</td>\n",
       "      <td>223383</td>\n",
       "      <td>223383</td>\n",
       "      <td>211373</td>\n",
       "      <td>223383</td>\n",
       "      <td>173972</td>\n",
       "      <td>174170</td>\n",
       "      <td>149393</td>\n",
       "      <td>148699</td>\n",
       "      <td>...</td>\n",
       "      <td>129107</td>\n",
       "      <td>172220</td>\n",
       "      <td>35297</td>\n",
       "      <td>62198</td>\n",
       "      <td>137791</td>\n",
       "      <td>172220</td>\n",
       "      <td>35297</td>\n",
       "      <td>223383</td>\n",
       "      <td>223383</td>\n",
       "      <td>223383</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>09</td>\n",
       "      <td>252679</td>\n",
       "      <td>252679</td>\n",
       "      <td>252679</td>\n",
       "      <td>237498</td>\n",
       "      <td>252679</td>\n",
       "      <td>207822</td>\n",
       "      <td>208112</td>\n",
       "      <td>177004</td>\n",
       "      <td>176535</td>\n",
       "      <td>...</td>\n",
       "      <td>148121</td>\n",
       "      <td>205795</td>\n",
       "      <td>27112</td>\n",
       "      <td>70942</td>\n",
       "      <td>164622</td>\n",
       "      <td>205795</td>\n",
       "      <td>27112</td>\n",
       "      <td>252679</td>\n",
       "      <td>252679</td>\n",
       "      <td>252679</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>10</td>\n",
       "      <td>259796</td>\n",
       "      <td>259796</td>\n",
       "      <td>259796</td>\n",
       "      <td>243177</td>\n",
       "      <td>259796</td>\n",
       "      <td>214139</td>\n",
       "      <td>214542</td>\n",
       "      <td>183760</td>\n",
       "      <td>181224</td>\n",
       "      <td>...</td>\n",
       "      <td>150598</td>\n",
       "      <td>212439</td>\n",
       "      <td>25987</td>\n",
       "      <td>71952</td>\n",
       "      <td>167184</td>\n",
       "      <td>212439</td>\n",
       "      <td>25987</td>\n",
       "      <td>259796</td>\n",
       "      <td>259796</td>\n",
       "      <td>259796</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>11</td>\n",
       "      <td>223222</td>\n",
       "      <td>223222</td>\n",
       "      <td>223222</td>\n",
       "      <td>209100</td>\n",
       "      <td>223222</td>\n",
       "      <td>186876</td>\n",
       "      <td>187131</td>\n",
       "      <td>161787</td>\n",
       "      <td>156665</td>\n",
       "      <td>...</td>\n",
       "      <td>131458</td>\n",
       "      <td>185184</td>\n",
       "      <td>19399</td>\n",
       "      <td>61307</td>\n",
       "      <td>144850</td>\n",
       "      <td>185184</td>\n",
       "      <td>19399</td>\n",
       "      <td>223222</td>\n",
       "      <td>223222</td>\n",
       "      <td>223222</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>12</td>\n",
       "      <td>198156</td>\n",
       "      <td>198156</td>\n",
       "      <td>198156</td>\n",
       "      <td>186210</td>\n",
       "      <td>198156</td>\n",
       "      <td>165136</td>\n",
       "      <td>165354</td>\n",
       "      <td>144641</td>\n",
       "      <td>138844</td>\n",
       "      <td>...</td>\n",
       "      <td>117199</td>\n",
       "      <td>163341</td>\n",
       "      <td>18739</td>\n",
       "      <td>57988</td>\n",
       "      <td>128455</td>\n",
       "      <td>163341</td>\n",
       "      <td>18739</td>\n",
       "      <td>198156</td>\n",
       "      <td>198156</td>\n",
       "      <td>198156</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>13</td>\n",
       "      <td>165690</td>\n",
       "      <td>165690</td>\n",
       "      <td>165690</td>\n",
       "      <td>154334</td>\n",
       "      <td>165690</td>\n",
       "      <td>136726</td>\n",
       "      <td>136902</td>\n",
       "      <td>118144</td>\n",
       "      <td>114692</td>\n",
       "      <td>...</td>\n",
       "      <td>96241</td>\n",
       "      <td>135589</td>\n",
       "      <td>15502</td>\n",
       "      <td>50354</td>\n",
       "      <td>105602</td>\n",
       "      <td>135589</td>\n",
       "      <td>15502</td>\n",
       "      <td>165690</td>\n",
       "      <td>165690</td>\n",
       "      <td>165690</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>14</td>\n",
       "      <td>173225</td>\n",
       "      <td>173225</td>\n",
       "      <td>173225</td>\n",
       "      <td>162651</td>\n",
       "      <td>173225</td>\n",
       "      <td>145415</td>\n",
       "      <td>145653</td>\n",
       "      <td>125763</td>\n",
       "      <td>121011</td>\n",
       "      <td>...</td>\n",
       "      <td>100944</td>\n",
       "      <td>144190</td>\n",
       "      <td>14843</td>\n",
       "      <td>51832</td>\n",
       "      <td>110895</td>\n",
       "      <td>144190</td>\n",
       "      <td>14843</td>\n",
       "      <td>173225</td>\n",
       "      <td>173225</td>\n",
       "      <td>173225</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>15</td>\n",
       "      <td>191366</td>\n",
       "      <td>191366</td>\n",
       "      <td>191366</td>\n",
       "      <td>178249</td>\n",
       "      <td>191366</td>\n",
       "      <td>159872</td>\n",
       "      <td>160125</td>\n",
       "      <td>137484</td>\n",
       "      <td>134773</td>\n",
       "      <td>...</td>\n",
       "      <td>111032</td>\n",
       "      <td>158755</td>\n",
       "      <td>15811</td>\n",
       "      <td>54766</td>\n",
       "      <td>122392</td>\n",
       "      <td>158755</td>\n",
       "      <td>15811</td>\n",
       "      <td>191366</td>\n",
       "      <td>191366</td>\n",
       "      <td>191366</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>16</td>\n",
       "      <td>195673</td>\n",
       "      <td>195673</td>\n",
       "      <td>195673</td>\n",
       "      <td>183245</td>\n",
       "      <td>195673</td>\n",
       "      <td>164772</td>\n",
       "      <td>165053</td>\n",
       "      <td>142673</td>\n",
       "      <td>139665</td>\n",
       "      <td>...</td>\n",
       "      <td>115562</td>\n",
       "      <td>163696</td>\n",
       "      <td>15698</td>\n",
       "      <td>56153</td>\n",
       "      <td>128571</td>\n",
       "      <td>163696</td>\n",
       "      <td>15698</td>\n",
       "      <td>195673</td>\n",
       "      <td>195673</td>\n",
       "      <td>195673</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>17</td>\n",
       "      <td>196853</td>\n",
       "      <td>196853</td>\n",
       "      <td>196853</td>\n",
       "      <td>183905</td>\n",
       "      <td>196853</td>\n",
       "      <td>166060</td>\n",
       "      <td>166229</td>\n",
       "      <td>143666</td>\n",
       "      <td>140464</td>\n",
       "      <td>...</td>\n",
       "      <td>116322</td>\n",
       "      <td>164615</td>\n",
       "      <td>15124</td>\n",
       "      <td>53395</td>\n",
       "      <td>129430</td>\n",
       "      <td>164615</td>\n",
       "      <td>15124</td>\n",
       "      <td>196853</td>\n",
       "      <td>196853</td>\n",
       "      <td>196853</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>18</td>\n",
       "      <td>186113</td>\n",
       "      <td>186113</td>\n",
       "      <td>186113</td>\n",
       "      <td>174432</td>\n",
       "      <td>186113</td>\n",
       "      <td>156333</td>\n",
       "      <td>156510</td>\n",
       "      <td>135242</td>\n",
       "      <td>132439</td>\n",
       "      <td>...</td>\n",
       "      <td>110566</td>\n",
       "      <td>155003</td>\n",
       "      <td>15470</td>\n",
       "      <td>52706</td>\n",
       "      <td>121332</td>\n",
       "      <td>155003</td>\n",
       "      <td>15470</td>\n",
       "      <td>186113</td>\n",
       "      <td>186113</td>\n",
       "      <td>186113</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>19</td>\n",
       "      <td>168684</td>\n",
       "      <td>168684</td>\n",
       "      <td>168684</td>\n",
       "      <td>156761</td>\n",
       "      <td>168684</td>\n",
       "      <td>139933</td>\n",
       "      <td>140106</td>\n",
       "      <td>121367</td>\n",
       "      <td>119364</td>\n",
       "      <td>...</td>\n",
       "      <td>100821</td>\n",
       "      <td>138897</td>\n",
       "      <td>14454</td>\n",
       "      <td>49869</td>\n",
       "      <td>110103</td>\n",
       "      <td>138897</td>\n",
       "      <td>14454</td>\n",
       "      <td>168684</td>\n",
       "      <td>168684</td>\n",
       "      <td>168684</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>20</td>\n",
       "      <td>157964</td>\n",
       "      <td>157964</td>\n",
       "      <td>157964</td>\n",
       "      <td>149461</td>\n",
       "      <td>157964</td>\n",
       "      <td>132220</td>\n",
       "      <td>132349</td>\n",
       "      <td>118126</td>\n",
       "      <td>113442</td>\n",
       "      <td>...</td>\n",
       "      <td>96615</td>\n",
       "      <td>131194</td>\n",
       "      <td>15053</td>\n",
       "      <td>51442</td>\n",
       "      <td>105890</td>\n",
       "      <td>131194</td>\n",
       "      <td>15053</td>\n",
       "      <td>157964</td>\n",
       "      <td>157964</td>\n",
       "      <td>157964</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>21</td>\n",
       "      <td>138417</td>\n",
       "      <td>138417</td>\n",
       "      <td>138417</td>\n",
       "      <td>129752</td>\n",
       "      <td>138417</td>\n",
       "      <td>112440</td>\n",
       "      <td>112596</td>\n",
       "      <td>100820</td>\n",
       "      <td>95102</td>\n",
       "      <td>...</td>\n",
       "      <td>82850</td>\n",
       "      <td>111457</td>\n",
       "      <td>15591</td>\n",
       "      <td>49969</td>\n",
       "      <td>88617</td>\n",
       "      <td>111457</td>\n",
       "      <td>15591</td>\n",
       "      <td>138417</td>\n",
       "      <td>138417</td>\n",
       "      <td>138417</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>22</td>\n",
       "      <td>101381</td>\n",
       "      <td>101381</td>\n",
       "      <td>101381</td>\n",
       "      <td>95711</td>\n",
       "      <td>101381</td>\n",
       "      <td>80568</td>\n",
       "      <td>80691</td>\n",
       "      <td>73009</td>\n",
       "      <td>66687</td>\n",
       "      <td>...</td>\n",
       "      <td>58600</td>\n",
       "      <td>79842</td>\n",
       "      <td>14109</td>\n",
       "      <td>39161</td>\n",
       "      <td>62375</td>\n",
       "      <td>79842</td>\n",
       "      <td>14109</td>\n",
       "      <td>101381</td>\n",
       "      <td>101381</td>\n",
       "      <td>101381</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>23</td>\n",
       "      <td>65028</td>\n",
       "      <td>65028</td>\n",
       "      <td>65028</td>\n",
       "      <td>62033</td>\n",
       "      <td>65028</td>\n",
       "      <td>50278</td>\n",
       "      <td>50413</td>\n",
       "      <td>46346</td>\n",
       "      <td>39896</td>\n",
       "      <td>...</td>\n",
       "      <td>35509</td>\n",
       "      <td>49856</td>\n",
       "      <td>11018</td>\n",
       "      <td>25460</td>\n",
       "      <td>38616</td>\n",
       "      <td>49856</td>\n",
       "      <td>11018</td>\n",
       "      <td>65028</td>\n",
       "      <td>65028</td>\n",
       "      <td>65028</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>24 rows × 23 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   time     UID     day    mode  success      os  version  device1  device2  \\\n",
       "0    00   46337   46337   46337    44472   46337    33366    33576    30946   \n",
       "1    01   19297   19297   19297    18372   19297    14169    14230    13047   \n",
       "2    02   11092   11092   11092    10418   11092     8396     8429     7680   \n",
       "3    03    7888    7888    7888     7338    7888     5946     5968     5459   \n",
       "4    04   11497   11497   11497    10822   11497     8409     8439     7854   \n",
       "5    05   27419   27419   27419    26496   27419    20252    20295    18833   \n",
       "6    06   71305   71305   71305    68832   71305    52384    52505    48032   \n",
       "7    07  137427  137427  137427   131342  137427   101083   101257    89597   \n",
       "8    08  223383  223383  223383   211373  223383   173972   174170   149393   \n",
       "9    09  252679  252679  252679   237498  252679   207822   208112   177004   \n",
       "10   10  259796  259796  259796   243177  259796   214139   214542   183760   \n",
       "11   11  223222  223222  223222   209100  223222   186876   187131   161787   \n",
       "12   12  198156  198156  198156   186210  198156   165136   165354   144641   \n",
       "13   13  165690  165690  165690   154334  165690   136726   136902   118144   \n",
       "14   14  173225  173225  173225   162651  173225   145415   145653   125763   \n",
       "15   15  191366  191366  191366   178249  191366   159872   160125   137484   \n",
       "16   16  195673  195673  195673   183245  195673   164772   165053   142673   \n",
       "17   17  196853  196853  196853   183905  196853   166060   166229   143666   \n",
       "18   18  186113  186113  186113   174432  186113   156333   156510   135242   \n",
       "19   19  168684  168684  168684   156761  168684   139933   140106   121367   \n",
       "20   20  157964  157964  157964   149461  157964   132220   132349   118126   \n",
       "21   21  138417  138417  138417   129752  138417   112440   112596   100820   \n",
       "22   22  101381  101381  101381    95711  101381    80568    80691    73009   \n",
       "23   23   65028   65028   65028    62033   65028    50278    50413    46346   \n",
       "\n",
       "    device_code1       ...          mac2     ip1    ip2   wifi  geo_code  \\\n",
       "0          26118       ...         23639   33061  10580  17542     25330   \n",
       "1          10751       ...          9793   13978   3943   7174     10455   \n",
       "2           6487       ...          5911    8346   1852   4189      6201   \n",
       "3           4586       ...          4274    5904   1307   3143      4480   \n",
       "4           7208       ...          6744    8380   2290   4750      6831   \n",
       "5          18025       ...         16829   20192   6085  11694     16691   \n",
       "6          46046       ...         42740   52085  15989  28475     43149   \n",
       "7          86483       ...         78563  100254  29203  44268     80585   \n",
       "8         148699       ...        129107  172220  35297  62198    137791   \n",
       "9         176535       ...        148121  205795  27112  70942    164622   \n",
       "10        181224       ...        150598  212439  25987  71952    167184   \n",
       "11        156665       ...        131458  185184  19399  61307    144850   \n",
       "12        138844       ...        117199  163341  18739  57988    128455   \n",
       "13        114692       ...         96241  135589  15502  50354    105602   \n",
       "14        121011       ...        100944  144190  14843  51832    110895   \n",
       "15        134773       ...        111032  158755  15811  54766    122392   \n",
       "16        139665       ...        115562  163696  15698  56153    128571   \n",
       "17        140464       ...        116322  164615  15124  53395    129430   \n",
       "18        132439       ...        110566  155003  15470  52706    121332   \n",
       "19        119364       ...        100821  138897  14454  49869    110103   \n",
       "20        113442       ...         96615  131194  15053  51442    105890   \n",
       "21         95102       ...         82850  111457  15591  49969     88617   \n",
       "22         66687       ...         58600   79842  14109  39161     62375   \n",
       "23         39896       ...         35509   49856  11018  25460     38616   \n",
       "\n",
       "    ip1_sub  ip2_sub     Tag  data_effective_num  data_lose_rate  \n",
       "0     33061    10580   46337               46337           46337  \n",
       "1     13978     3943   19297               19297           19297  \n",
       "2      8346     1852   11092               11092           11092  \n",
       "3      5904     1307    7888                7888            7888  \n",
       "4      8380     2290   11497               11497           11497  \n",
       "5     20192     6085   27419               27419           27419  \n",
       "6     52085    15989   71305               71305           71305  \n",
       "7    100254    29203  137427              137427          137427  \n",
       "8    172220    35297  223383              223383          223383  \n",
       "9    205795    27112  252679              252679          252679  \n",
       "10   212439    25987  259796              259796          259796  \n",
       "11   185184    19399  223222              223222          223222  \n",
       "12   163341    18739  198156              198156          198156  \n",
       "13   135589    15502  165690              165690          165690  \n",
       "14   144190    14843  173225              173225          173225  \n",
       "15   158755    15811  191366              191366          191366  \n",
       "16   163696    15698  195673              195673          195673  \n",
       "17   164615    15124  196853              196853          196853  \n",
       "18   155003    15470  186113              186113          186113  \n",
       "19   138897    14454  168684              168684          168684  \n",
       "20   131194    15053  157964              157964          157964  \n",
       "21   111457    15591  138417              138417          138417  \n",
       "22    79842    14109  101381              101381          101381  \n",
       "23    49856    11018   65028               65028           65028  \n",
       "\n",
       "[24 rows x 23 columns]"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    " op_merge.groupby(op_hd.time).count().reset_index()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>mode</th>\n",
       "      <th>UID</th>\n",
       "      <th>day</th>\n",
       "      <th>success</th>\n",
       "      <th>time</th>\n",
       "      <th>os</th>\n",
       "      <th>version</th>\n",
       "      <th>device1</th>\n",
       "      <th>device2</th>\n",
       "      <th>device_code1</th>\n",
       "      <th>...</th>\n",
       "      <th>mac2</th>\n",
       "      <th>ip1</th>\n",
       "      <th>ip2</th>\n",
       "      <th>wifi</th>\n",
       "      <th>geo_code</th>\n",
       "      <th>ip1_sub</th>\n",
       "      <th>ip2_sub</th>\n",
       "      <th>Tag</th>\n",
       "      <th>data_effective_num</th>\n",
       "      <th>data_lose_rate</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>00094ae2a1d62504</td>\n",
       "      <td>56979</td>\n",
       "      <td>56979</td>\n",
       "      <td>56979</td>\n",
       "      <td>56979</td>\n",
       "      <td>56979</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>56979</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>56979</td>\n",
       "      <td>56979</td>\n",
       "      <td>56979</td>\n",
       "      <td>56979</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>072eee5c88d380df</td>\n",
       "      <td>69990</td>\n",
       "      <td>69990</td>\n",
       "      <td>69990</td>\n",
       "      <td>69990</td>\n",
       "      <td>69990</td>\n",
       "      <td>69990</td>\n",
       "      <td>69990</td>\n",
       "      <td>69990</td>\n",
       "      <td>56885</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>69990</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>47968</td>\n",
       "      <td>69990</td>\n",
       "      <td>0</td>\n",
       "      <td>69990</td>\n",
       "      <td>69990</td>\n",
       "      <td>69990</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>08017d2cb28c2348</td>\n",
       "      <td>11510</td>\n",
       "      <td>11510</td>\n",
       "      <td>11510</td>\n",
       "      <td>11510</td>\n",
       "      <td>11510</td>\n",
       "      <td>11510</td>\n",
       "      <td>11510</td>\n",
       "      <td>11508</td>\n",
       "      <td>9461</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>11510</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>5512</td>\n",
       "      <td>11510</td>\n",
       "      <td>0</td>\n",
       "      <td>11510</td>\n",
       "      <td>11510</td>\n",
       "      <td>11510</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>09080b31b40d57e8</td>\n",
       "      <td>8948</td>\n",
       "      <td>8948</td>\n",
       "      <td>8948</td>\n",
       "      <td>8948</td>\n",
       "      <td>8948</td>\n",
       "      <td>8948</td>\n",
       "      <td>8948</td>\n",
       "      <td>8948</td>\n",
       "      <td>7655</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>8948</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>5089</td>\n",
       "      <td>8948</td>\n",
       "      <td>0</td>\n",
       "      <td>8948</td>\n",
       "      <td>8948</td>\n",
       "      <td>8948</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0e72a7851fadf00b</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>5</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>6</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>0</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>12845a3fe90eb1de</td>\n",
       "      <td>58</td>\n",
       "      <td>58</td>\n",
       "      <td>58</td>\n",
       "      <td>58</td>\n",
       "      <td>58</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>58</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>58</td>\n",
       "      <td>58</td>\n",
       "      <td>58</td>\n",
       "      <td>58</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>148dc2618a3a92a4</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>17a6ee1a7b6a02b7</td>\n",
       "      <td>3028</td>\n",
       "      <td>3028</td>\n",
       "      <td>3028</td>\n",
       "      <td>3028</td>\n",
       "      <td>3028</td>\n",
       "      <td>2927</td>\n",
       "      <td>2927</td>\n",
       "      <td>0</td>\n",
       "      <td>2172</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>3028</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>3028</td>\n",
       "      <td>0</td>\n",
       "      <td>3028</td>\n",
       "      <td>3028</td>\n",
       "      <td>3028</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>1c341176507fbd9b</td>\n",
       "      <td>25769</td>\n",
       "      <td>25769</td>\n",
       "      <td>25769</td>\n",
       "      <td>25769</td>\n",
       "      <td>25769</td>\n",
       "      <td>24123</td>\n",
       "      <td>23571</td>\n",
       "      <td>18377</td>\n",
       "      <td>19753</td>\n",
       "      <td>...</td>\n",
       "      <td>19648</td>\n",
       "      <td>24134</td>\n",
       "      <td>1915</td>\n",
       "      <td>9911</td>\n",
       "      <td>12136</td>\n",
       "      <td>24134</td>\n",
       "      <td>1915</td>\n",
       "      <td>25769</td>\n",
       "      <td>25769</td>\n",
       "      <td>25769</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>1cbe3d31395984d7</td>\n",
       "      <td>12</td>\n",
       "      <td>12</td>\n",
       "      <td>12</td>\n",
       "      <td>12</td>\n",
       "      <td>12</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>9</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>12</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>12</td>\n",
       "      <td>0</td>\n",
       "      <td>12</td>\n",
       "      <td>12</td>\n",
       "      <td>12</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>1f287477e8f4b95a</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>5</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>6</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>0</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>20a91b45ef8f8221</td>\n",
       "      <td>54686</td>\n",
       "      <td>54686</td>\n",
       "      <td>54686</td>\n",
       "      <td>54686</td>\n",
       "      <td>54686</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>54686</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>54686</td>\n",
       "      <td>54686</td>\n",
       "      <td>54686</td>\n",
       "      <td>54686</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>270ca3ca8f0d1126</td>\n",
       "      <td>3851</td>\n",
       "      <td>3851</td>\n",
       "      <td>3851</td>\n",
       "      <td>3851</td>\n",
       "      <td>3851</td>\n",
       "      <td>3851</td>\n",
       "      <td>3851</td>\n",
       "      <td>3851</td>\n",
       "      <td>2968</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>3851</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2653</td>\n",
       "      <td>3851</td>\n",
       "      <td>0</td>\n",
       "      <td>3851</td>\n",
       "      <td>3851</td>\n",
       "      <td>3851</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>272b66487a69658a</td>\n",
       "      <td>384</td>\n",
       "      <td>384</td>\n",
       "      <td>384</td>\n",
       "      <td>384</td>\n",
       "      <td>384</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>384</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>384</td>\n",
       "      <td>384</td>\n",
       "      <td>384</td>\n",
       "      <td>384</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>290ead084a839c02</td>\n",
       "      <td>87</td>\n",
       "      <td>87</td>\n",
       "      <td>87</td>\n",
       "      <td>87</td>\n",
       "      <td>87</td>\n",
       "      <td>87</td>\n",
       "      <td>87</td>\n",
       "      <td>87</td>\n",
       "      <td>82</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>87</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>34</td>\n",
       "      <td>87</td>\n",
       "      <td>0</td>\n",
       "      <td>87</td>\n",
       "      <td>87</td>\n",
       "      <td>87</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>2ab549beba0a4482</td>\n",
       "      <td>27</td>\n",
       "      <td>27</td>\n",
       "      <td>27</td>\n",
       "      <td>27</td>\n",
       "      <td>27</td>\n",
       "      <td>27</td>\n",
       "      <td>27</td>\n",
       "      <td>27</td>\n",
       "      <td>18</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>27</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>25</td>\n",
       "      <td>27</td>\n",
       "      <td>0</td>\n",
       "      <td>27</td>\n",
       "      <td>27</td>\n",
       "      <td>27</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>2e6fdb7d4ddef57f</td>\n",
       "      <td>129</td>\n",
       "      <td>129</td>\n",
       "      <td>129</td>\n",
       "      <td>129</td>\n",
       "      <td>129</td>\n",
       "      <td>129</td>\n",
       "      <td>129</td>\n",
       "      <td>129</td>\n",
       "      <td>114</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>129</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>90</td>\n",
       "      <td>129</td>\n",
       "      <td>0</td>\n",
       "      <td>129</td>\n",
       "      <td>129</td>\n",
       "      <td>129</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>2e7e5808ff6323e8</td>\n",
       "      <td>111</td>\n",
       "      <td>111</td>\n",
       "      <td>111</td>\n",
       "      <td>111</td>\n",
       "      <td>111</td>\n",
       "      <td>111</td>\n",
       "      <td>111</td>\n",
       "      <td>111</td>\n",
       "      <td>111</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>111</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>111</td>\n",
       "      <td>111</td>\n",
       "      <td>0</td>\n",
       "      <td>111</td>\n",
       "      <td>111</td>\n",
       "      <td>111</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>2f3e878175e34d9c</td>\n",
       "      <td>26540</td>\n",
       "      <td>26540</td>\n",
       "      <td>26540</td>\n",
       "      <td>26540</td>\n",
       "      <td>26540</td>\n",
       "      <td>26540</td>\n",
       "      <td>26540</td>\n",
       "      <td>26540</td>\n",
       "      <td>20613</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>26540</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>24028</td>\n",
       "      <td>26540</td>\n",
       "      <td>0</td>\n",
       "      <td>26540</td>\n",
       "      <td>26540</td>\n",
       "      <td>26540</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>30293957fcf5681c</td>\n",
       "      <td>42</td>\n",
       "      <td>42</td>\n",
       "      <td>42</td>\n",
       "      <td>42</td>\n",
       "      <td>42</td>\n",
       "      <td>42</td>\n",
       "      <td>42</td>\n",
       "      <td>0</td>\n",
       "      <td>36</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>42</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>36</td>\n",
       "      <td>42</td>\n",
       "      <td>0</td>\n",
       "      <td>42</td>\n",
       "      <td>42</td>\n",
       "      <td>42</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>33518cc0c2151469</td>\n",
       "      <td>6845</td>\n",
       "      <td>6845</td>\n",
       "      <td>6845</td>\n",
       "      <td>6845</td>\n",
       "      <td>6845</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>6845</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>6845</td>\n",
       "      <td>6845</td>\n",
       "      <td>6845</td>\n",
       "      <td>6845</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>3684bb4f59b01fd7</td>\n",
       "      <td>108</td>\n",
       "      <td>108</td>\n",
       "      <td>108</td>\n",
       "      <td>108</td>\n",
       "      <td>108</td>\n",
       "      <td>108</td>\n",
       "      <td>108</td>\n",
       "      <td>108</td>\n",
       "      <td>74</td>\n",
       "      <td>...</td>\n",
       "      <td>74</td>\n",
       "      <td>108</td>\n",
       "      <td>0</td>\n",
       "      <td>38</td>\n",
       "      <td>69</td>\n",
       "      <td>108</td>\n",
       "      <td>0</td>\n",
       "      <td>108</td>\n",
       "      <td>108</td>\n",
       "      <td>108</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>37031ef728f5c886</td>\n",
       "      <td>6577</td>\n",
       "      <td>6577</td>\n",
       "      <td>6577</td>\n",
       "      <td>6577</td>\n",
       "      <td>6577</td>\n",
       "      <td>6571</td>\n",
       "      <td>6571</td>\n",
       "      <td>6571</td>\n",
       "      <td>5563</td>\n",
       "      <td>...</td>\n",
       "      <td>5543</td>\n",
       "      <td>6571</td>\n",
       "      <td>0</td>\n",
       "      <td>2495</td>\n",
       "      <td>3977</td>\n",
       "      <td>6571</td>\n",
       "      <td>0</td>\n",
       "      <td>6577</td>\n",
       "      <td>6577</td>\n",
       "      <td>6577</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>385608c64026c669</td>\n",
       "      <td>293</td>\n",
       "      <td>293</td>\n",
       "      <td>293</td>\n",
       "      <td>293</td>\n",
       "      <td>293</td>\n",
       "      <td>293</td>\n",
       "      <td>293</td>\n",
       "      <td>293</td>\n",
       "      <td>198</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>293</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>277</td>\n",
       "      <td>293</td>\n",
       "      <td>0</td>\n",
       "      <td>293</td>\n",
       "      <td>293</td>\n",
       "      <td>293</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>3b02bcd4b685d7a8</td>\n",
       "      <td>66058</td>\n",
       "      <td>66058</td>\n",
       "      <td>66058</td>\n",
       "      <td>66058</td>\n",
       "      <td>66058</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>66058</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>66058</td>\n",
       "      <td>66058</td>\n",
       "      <td>66058</td>\n",
       "      <td>66058</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>3f6258f4825c2251</td>\n",
       "      <td>128</td>\n",
       "      <td>128</td>\n",
       "      <td>128</td>\n",
       "      <td>128</td>\n",
       "      <td>128</td>\n",
       "      <td>128</td>\n",
       "      <td>128</td>\n",
       "      <td>128</td>\n",
       "      <td>115</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>128</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>113</td>\n",
       "      <td>128</td>\n",
       "      <td>0</td>\n",
       "      <td>128</td>\n",
       "      <td>128</td>\n",
       "      <td>128</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>43bd7c1135abe71a</td>\n",
       "      <td>1496</td>\n",
       "      <td>1496</td>\n",
       "      <td>1496</td>\n",
       "      <td>1496</td>\n",
       "      <td>1496</td>\n",
       "      <td>1496</td>\n",
       "      <td>1496</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1496</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1496</td>\n",
       "      <td>0</td>\n",
       "      <td>1496</td>\n",
       "      <td>1496</td>\n",
       "      <td>1496</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>443ba9b183118540</td>\n",
       "      <td>1432</td>\n",
       "      <td>1432</td>\n",
       "      <td>1432</td>\n",
       "      <td>1432</td>\n",
       "      <td>1432</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1432</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1432</td>\n",
       "      <td>1432</td>\n",
       "      <td>1432</td>\n",
       "      <td>1432</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>44aa2d1440730479</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>479617cd802ed152</td>\n",
       "      <td>18749</td>\n",
       "      <td>18749</td>\n",
       "      <td>18749</td>\n",
       "      <td>18749</td>\n",
       "      <td>18749</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>18749</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>18749</td>\n",
       "      <td>18749</td>\n",
       "      <td>18749</td>\n",
       "      <td>18749</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>73</th>\n",
       "      <td>be215a1560dcbf6e</td>\n",
       "      <td>872</td>\n",
       "      <td>872</td>\n",
       "      <td>872</td>\n",
       "      <td>872</td>\n",
       "      <td>872</td>\n",
       "      <td>774</td>\n",
       "      <td>774</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>774</td>\n",
       "      <td>98</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>774</td>\n",
       "      <td>98</td>\n",
       "      <td>872</td>\n",
       "      <td>872</td>\n",
       "      <td>872</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>74</th>\n",
       "      <td>bf79b3647c0878eb</td>\n",
       "      <td>21613</td>\n",
       "      <td>21613</td>\n",
       "      <td>21613</td>\n",
       "      <td>21613</td>\n",
       "      <td>21613</td>\n",
       "      <td>21613</td>\n",
       "      <td>21613</td>\n",
       "      <td>21612</td>\n",
       "      <td>18171</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>21613</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>14151</td>\n",
       "      <td>21613</td>\n",
       "      <td>0</td>\n",
       "      <td>21613</td>\n",
       "      <td>21613</td>\n",
       "      <td>21613</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75</th>\n",
       "      <td>c5bdf60179ae58d7</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>5</td>\n",
       "      <td>3</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>6</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>5</td>\n",
       "      <td>6</td>\n",
       "      <td>0</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>76</th>\n",
       "      <td>c8741ce15ceac2a4</td>\n",
       "      <td>1773956</td>\n",
       "      <td>1773956</td>\n",
       "      <td>1773956</td>\n",
       "      <td>1773956</td>\n",
       "      <td>1773956</td>\n",
       "      <td>1773955</td>\n",
       "      <td>1773812</td>\n",
       "      <td>1772722</td>\n",
       "      <td>1510558</td>\n",
       "      <td>...</td>\n",
       "      <td>1500479</td>\n",
       "      <td>1773812</td>\n",
       "      <td>143</td>\n",
       "      <td>918121</td>\n",
       "      <td>1441175</td>\n",
       "      <td>1773812</td>\n",
       "      <td>143</td>\n",
       "      <td>1773956</td>\n",
       "      <td>1773956</td>\n",
       "      <td>1773956</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>77</th>\n",
       "      <td>ca1dadf842dcd7a5</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>78</th>\n",
       "      <td>cc273b0b2a2afb0f</td>\n",
       "      <td>3164</td>\n",
       "      <td>3164</td>\n",
       "      <td>3164</td>\n",
       "      <td>3164</td>\n",
       "      <td>3164</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>3164</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>3164</td>\n",
       "      <td>3164</td>\n",
       "      <td>3164</td>\n",
       "      <td>3164</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>79</th>\n",
       "      <td>cca82161b59127c1</td>\n",
       "      <td>28638</td>\n",
       "      <td>28638</td>\n",
       "      <td>28638</td>\n",
       "      <td>28638</td>\n",
       "      <td>28638</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>28638</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>28638</td>\n",
       "      <td>28638</td>\n",
       "      <td>28638</td>\n",
       "      <td>28638</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>80</th>\n",
       "      <td>cd75f033b0488ace</td>\n",
       "      <td>47186</td>\n",
       "      <td>47186</td>\n",
       "      <td>47186</td>\n",
       "      <td>47186</td>\n",
       "      <td>47186</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>47186</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>47186</td>\n",
       "      <td>47186</td>\n",
       "      <td>47186</td>\n",
       "      <td>47186</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>81</th>\n",
       "      <td>ce2ef1dc219082d9</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>82</th>\n",
       "      <td>d21cae2b73884a8d</td>\n",
       "      <td>18855</td>\n",
       "      <td>18855</td>\n",
       "      <td>18855</td>\n",
       "      <td>18855</td>\n",
       "      <td>18855</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>18855</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>18855</td>\n",
       "      <td>18855</td>\n",
       "      <td>18855</td>\n",
       "      <td>18855</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>83</th>\n",
       "      <td>d22abe3bc961e5f2</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>5</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>6</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>0</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>84</th>\n",
       "      <td>d25caee90b27fa9b</td>\n",
       "      <td>369693</td>\n",
       "      <td>369693</td>\n",
       "      <td>369693</td>\n",
       "      <td>369693</td>\n",
       "      <td>369693</td>\n",
       "      <td>329497</td>\n",
       "      <td>334021</td>\n",
       "      <td>25322</td>\n",
       "      <td>272655</td>\n",
       "      <td>...</td>\n",
       "      <td>277585</td>\n",
       "      <td>306427</td>\n",
       "      <td>1719</td>\n",
       "      <td>5433</td>\n",
       "      <td>240007</td>\n",
       "      <td>306427</td>\n",
       "      <td>1719</td>\n",
       "      <td>369693</td>\n",
       "      <td>369693</td>\n",
       "      <td>369693</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>85</th>\n",
       "      <td>d3c998b9bd4684a8</td>\n",
       "      <td>645</td>\n",
       "      <td>645</td>\n",
       "      <td>645</td>\n",
       "      <td>645</td>\n",
       "      <td>645</td>\n",
       "      <td>645</td>\n",
       "      <td>645</td>\n",
       "      <td>645</td>\n",
       "      <td>557</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>645</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>595</td>\n",
       "      <td>645</td>\n",
       "      <td>0</td>\n",
       "      <td>645</td>\n",
       "      <td>645</td>\n",
       "      <td>645</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>86</th>\n",
       "      <td>d48cfe8d9921f5b6</td>\n",
       "      <td>41</td>\n",
       "      <td>41</td>\n",
       "      <td>41</td>\n",
       "      <td>41</td>\n",
       "      <td>41</td>\n",
       "      <td>41</td>\n",
       "      <td>41</td>\n",
       "      <td>41</td>\n",
       "      <td>38</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>41</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>37</td>\n",
       "      <td>41</td>\n",
       "      <td>0</td>\n",
       "      <td>41</td>\n",
       "      <td>41</td>\n",
       "      <td>41</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>87</th>\n",
       "      <td>da11300b15a56456</td>\n",
       "      <td>40</td>\n",
       "      <td>40</td>\n",
       "      <td>40</td>\n",
       "      <td>40</td>\n",
       "      <td>40</td>\n",
       "      <td>40</td>\n",
       "      <td>40</td>\n",
       "      <td>40</td>\n",
       "      <td>35</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>40</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>34</td>\n",
       "      <td>40</td>\n",
       "      <td>0</td>\n",
       "      <td>40</td>\n",
       "      <td>40</td>\n",
       "      <td>40</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>88</th>\n",
       "      <td>da9f055c25d788dc</td>\n",
       "      <td>30</td>\n",
       "      <td>30</td>\n",
       "      <td>30</td>\n",
       "      <td>30</td>\n",
       "      <td>30</td>\n",
       "      <td>30</td>\n",
       "      <td>30</td>\n",
       "      <td>0</td>\n",
       "      <td>19</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>30</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>30</td>\n",
       "      <td>0</td>\n",
       "      <td>30</td>\n",
       "      <td>30</td>\n",
       "      <td>30</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>89</th>\n",
       "      <td>dd06c9d2ea0a3750</td>\n",
       "      <td>9301</td>\n",
       "      <td>9301</td>\n",
       "      <td>9301</td>\n",
       "      <td>9301</td>\n",
       "      <td>9301</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>9301</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>9301</td>\n",
       "      <td>9301</td>\n",
       "      <td>9301</td>\n",
       "      <td>9301</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>90</th>\n",
       "      <td>e00efcf34eb17f69</td>\n",
       "      <td>5</td>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>5</td>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>5</td>\n",
       "      <td>5</td>\n",
       "      <td>5</td>\n",
       "      <td>5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>91</th>\n",
       "      <td>e0fc956bf4f3dfb7</td>\n",
       "      <td>10</td>\n",
       "      <td>10</td>\n",
       "      <td>10</td>\n",
       "      <td>10</td>\n",
       "      <td>10</td>\n",
       "      <td>10</td>\n",
       "      <td>10</td>\n",
       "      <td>10</td>\n",
       "      <td>8</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>10</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>7</td>\n",
       "      <td>10</td>\n",
       "      <td>0</td>\n",
       "      <td>10</td>\n",
       "      <td>10</td>\n",
       "      <td>10</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>92</th>\n",
       "      <td>e1b96d504829cadf</td>\n",
       "      <td>260</td>\n",
       "      <td>260</td>\n",
       "      <td>260</td>\n",
       "      <td>260</td>\n",
       "      <td>260</td>\n",
       "      <td>260</td>\n",
       "      <td>260</td>\n",
       "      <td>260</td>\n",
       "      <td>219</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>260</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>246</td>\n",
       "      <td>260</td>\n",
       "      <td>0</td>\n",
       "      <td>260</td>\n",
       "      <td>260</td>\n",
       "      <td>260</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>93</th>\n",
       "      <td>e1d2fad8ffdc66b3</td>\n",
       "      <td>47843</td>\n",
       "      <td>47843</td>\n",
       "      <td>0</td>\n",
       "      <td>47843</td>\n",
       "      <td>47843</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>5</td>\n",
       "      <td>47843</td>\n",
       "      <td>47843</td>\n",
       "      <td>47843</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>94</th>\n",
       "      <td>e352f410afb1878a</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>...</td>\n",
       "      <td>2</td>\n",
       "      <td>6</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>6</td>\n",
       "      <td>0</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>95</th>\n",
       "      <td>e806d126013b42d1</td>\n",
       "      <td>10148</td>\n",
       "      <td>10148</td>\n",
       "      <td>10148</td>\n",
       "      <td>10148</td>\n",
       "      <td>10148</td>\n",
       "      <td>10148</td>\n",
       "      <td>10148</td>\n",
       "      <td>10148</td>\n",
       "      <td>8738</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>10148</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>5709</td>\n",
       "      <td>10148</td>\n",
       "      <td>0</td>\n",
       "      <td>10148</td>\n",
       "      <td>10148</td>\n",
       "      <td>10148</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>96</th>\n",
       "      <td>e88d8e8ad8a93013</td>\n",
       "      <td>105</td>\n",
       "      <td>105</td>\n",
       "      <td>105</td>\n",
       "      <td>105</td>\n",
       "      <td>105</td>\n",
       "      <td>105</td>\n",
       "      <td>105</td>\n",
       "      <td>105</td>\n",
       "      <td>72</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>105</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>67</td>\n",
       "      <td>105</td>\n",
       "      <td>0</td>\n",
       "      <td>105</td>\n",
       "      <td>105</td>\n",
       "      <td>105</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>97</th>\n",
       "      <td>ead94ed7824d5bf0</td>\n",
       "      <td>16</td>\n",
       "      <td>16</td>\n",
       "      <td>16</td>\n",
       "      <td>16</td>\n",
       "      <td>16</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>14</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>16</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>16</td>\n",
       "      <td>0</td>\n",
       "      <td>16</td>\n",
       "      <td>16</td>\n",
       "      <td>16</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>98</th>\n",
       "      <td>f1e83bce32405f92</td>\n",
       "      <td>117</td>\n",
       "      <td>117</td>\n",
       "      <td>117</td>\n",
       "      <td>117</td>\n",
       "      <td>117</td>\n",
       "      <td>55</td>\n",
       "      <td>73</td>\n",
       "      <td>73</td>\n",
       "      <td>37</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>73</td>\n",
       "      <td>44</td>\n",
       "      <td>0</td>\n",
       "      <td>37</td>\n",
       "      <td>73</td>\n",
       "      <td>44</td>\n",
       "      <td>117</td>\n",
       "      <td>117</td>\n",
       "      <td>117</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>99</th>\n",
       "      <td>f3bdbd82e0d55978</td>\n",
       "      <td>23</td>\n",
       "      <td>23</td>\n",
       "      <td>23</td>\n",
       "      <td>23</td>\n",
       "      <td>23</td>\n",
       "      <td>23</td>\n",
       "      <td>23</td>\n",
       "      <td>0</td>\n",
       "      <td>17</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>23</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>21</td>\n",
       "      <td>23</td>\n",
       "      <td>0</td>\n",
       "      <td>23</td>\n",
       "      <td>23</td>\n",
       "      <td>23</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>100</th>\n",
       "      <td>f4b0872cd482e33f</td>\n",
       "      <td>77</td>\n",
       "      <td>77</td>\n",
       "      <td>77</td>\n",
       "      <td>77</td>\n",
       "      <td>77</td>\n",
       "      <td>21</td>\n",
       "      <td>0</td>\n",
       "      <td>77</td>\n",
       "      <td>56</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>77</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>50</td>\n",
       "      <td>77</td>\n",
       "      <td>0</td>\n",
       "      <td>77</td>\n",
       "      <td>77</td>\n",
       "      <td>77</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>101</th>\n",
       "      <td>f7fbf43db10b8678</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>102</th>\n",
       "      <td>fc147276b8ff76fb</td>\n",
       "      <td>3105</td>\n",
       "      <td>3105</td>\n",
       "      <td>3105</td>\n",
       "      <td>3105</td>\n",
       "      <td>3105</td>\n",
       "      <td>3105</td>\n",
       "      <td>3105</td>\n",
       "      <td>3105</td>\n",
       "      <td>2680</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>3105</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1820</td>\n",
       "      <td>3105</td>\n",
       "      <td>0</td>\n",
       "      <td>3105</td>\n",
       "      <td>3105</td>\n",
       "      <td>3105</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>103 rows × 23 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                 mode      UID      day  success     time       os  version  \\\n",
       "0    00094ae2a1d62504    56979    56979    56979    56979    56979        0   \n",
       "1    072eee5c88d380df    69990    69990    69990    69990    69990    69990   \n",
       "2    08017d2cb28c2348    11510    11510    11510    11510    11510    11510   \n",
       "3    09080b31b40d57e8     8948     8948     8948     8948     8948     8948   \n",
       "4    0e72a7851fadf00b        6        6        6        6        6        6   \n",
       "5    12845a3fe90eb1de       58       58       58       58       58        0   \n",
       "6    148dc2618a3a92a4        2        2        2        2        2        2   \n",
       "7    17a6ee1a7b6a02b7     3028     3028     3028     3028     3028     2927   \n",
       "8    1c341176507fbd9b    25769    25769    25769    25769    25769    24123   \n",
       "9    1cbe3d31395984d7       12       12       12       12       12        1   \n",
       "10   1f287477e8f4b95a        6        6        6        6        6        6   \n",
       "11   20a91b45ef8f8221    54686    54686    54686    54686    54686        0   \n",
       "12   270ca3ca8f0d1126     3851     3851     3851     3851     3851     3851   \n",
       "13   272b66487a69658a      384      384      384      384      384        0   \n",
       "14   290ead084a839c02       87       87       87       87       87       87   \n",
       "15   2ab549beba0a4482       27       27       27       27       27       27   \n",
       "16   2e6fdb7d4ddef57f      129      129      129      129      129      129   \n",
       "17   2e7e5808ff6323e8      111      111      111      111      111      111   \n",
       "18   2f3e878175e34d9c    26540    26540    26540    26540    26540    26540   \n",
       "19   30293957fcf5681c       42       42       42       42       42       42   \n",
       "20   33518cc0c2151469     6845     6845     6845     6845     6845        0   \n",
       "21   3684bb4f59b01fd7      108      108      108      108      108      108   \n",
       "22   37031ef728f5c886     6577     6577     6577     6577     6577     6571   \n",
       "23   385608c64026c669      293      293      293      293      293      293   \n",
       "24   3b02bcd4b685d7a8    66058    66058    66058    66058    66058        0   \n",
       "25   3f6258f4825c2251      128      128      128      128      128      128   \n",
       "26   43bd7c1135abe71a     1496     1496     1496     1496     1496     1496   \n",
       "27   443ba9b183118540     1432     1432     1432     1432     1432        0   \n",
       "28   44aa2d1440730479        1        1        1        1        1        1   \n",
       "29   479617cd802ed152    18749    18749    18749    18749    18749        0   \n",
       "..                ...      ...      ...      ...      ...      ...      ...   \n",
       "73   be215a1560dcbf6e      872      872      872      872      872      774   \n",
       "74   bf79b3647c0878eb    21613    21613    21613    21613    21613    21613   \n",
       "75   c5bdf60179ae58d7        6        6        6        6        6        6   \n",
       "76   c8741ce15ceac2a4  1773956  1773956  1773956  1773956  1773956  1773955   \n",
       "77   ca1dadf842dcd7a5        1        1        1        1        1        1   \n",
       "78   cc273b0b2a2afb0f     3164     3164     3164     3164     3164        0   \n",
       "79   cca82161b59127c1    28638    28638    28638    28638    28638        0   \n",
       "80   cd75f033b0488ace    47186    47186    47186    47186    47186        0   \n",
       "81   ce2ef1dc219082d9        1        1        1        1        1        0   \n",
       "82   d21cae2b73884a8d    18855    18855    18855    18855    18855        0   \n",
       "83   d22abe3bc961e5f2        6        6        6        6        6        6   \n",
       "84   d25caee90b27fa9b   369693   369693   369693   369693   369693   329497   \n",
       "85   d3c998b9bd4684a8      645      645      645      645      645      645   \n",
       "86   d48cfe8d9921f5b6       41       41       41       41       41       41   \n",
       "87   da11300b15a56456       40       40       40       40       40       40   \n",
       "88   da9f055c25d788dc       30       30       30       30       30       30   \n",
       "89   dd06c9d2ea0a3750     9301     9301     9301     9301     9301        0   \n",
       "90   e00efcf34eb17f69        5        5        0        5        5        0   \n",
       "91   e0fc956bf4f3dfb7       10       10       10       10       10       10   \n",
       "92   e1b96d504829cadf      260      260      260      260      260      260   \n",
       "93   e1d2fad8ffdc66b3    47843    47843        0    47843    47843        0   \n",
       "94   e352f410afb1878a        6        6        6        6        6        6   \n",
       "95   e806d126013b42d1    10148    10148    10148    10148    10148    10148   \n",
       "96   e88d8e8ad8a93013      105      105      105      105      105      105   \n",
       "97   ead94ed7824d5bf0       16       16       16       16       16        0   \n",
       "98   f1e83bce32405f92      117      117      117      117      117       55   \n",
       "99   f3bdbd82e0d55978       23       23       23       23       23       23   \n",
       "100  f4b0872cd482e33f       77       77       77       77       77       21   \n",
       "101  f7fbf43db10b8678        2        2        2        2        2        2   \n",
       "102  fc147276b8ff76fb     3105     3105     3105     3105     3105     3105   \n",
       "\n",
       "     device1  device2  device_code1       ...           mac2      ip1    ip2  \\\n",
       "0          0        0             0       ...              0        0  56979   \n",
       "1      69990    69990         56885       ...              0    69990      0   \n",
       "2      11510    11508          9461       ...              0    11510      0   \n",
       "3       8948     8948          7655       ...              0     8948      0   \n",
       "4          6        6             5       ...              0        6      0   \n",
       "5          0        0             0       ...              0        0     58   \n",
       "6          2        2             1       ...              0        2      0   \n",
       "7       2927        0          2172       ...              0     3028      0   \n",
       "8      23571    18377         19753       ...          19648    24134   1915   \n",
       "9          1        0             9       ...              0       12      0   \n",
       "10         6        6             5       ...              0        6      0   \n",
       "11         0        0             0       ...              0        0  54686   \n",
       "12      3851     3851          2968       ...              0     3851      0   \n",
       "13         0        0             0       ...              0        0    384   \n",
       "14        87       87            82       ...              0       87      0   \n",
       "15        27       27            18       ...              0       27      0   \n",
       "16       129      129           114       ...              0      129      0   \n",
       "17       111      111           111       ...              0      111      0   \n",
       "18     26540    26540         20613       ...              0    26540      0   \n",
       "19        42        0            36       ...              0       42      0   \n",
       "20         0        0             0       ...              0        0   6845   \n",
       "21       108      108            74       ...             74      108      0   \n",
       "22      6571     6571          5563       ...           5543     6571      0   \n",
       "23       293      293           198       ...              0      293      0   \n",
       "24         0        0             0       ...              0        0  66058   \n",
       "25       128      128           115       ...              0      128      0   \n",
       "26      1496        0             0       ...              0     1496      0   \n",
       "27         0        0             0       ...              0        0   1432   \n",
       "28         1        0             1       ...              0        1      0   \n",
       "29         0        0             0       ...              0        0  18749   \n",
       "..       ...      ...           ...       ...            ...      ...    ...   \n",
       "73       774        0             0       ...              0      774     98   \n",
       "74     21613    21612         18171       ...              0    21613      0   \n",
       "75         6        5             3       ...              0        6      0   \n",
       "76   1773812  1772722       1510558       ...        1500479  1773812    143   \n",
       "77         1        1             1       ...              0        1      0   \n",
       "78         0        0             0       ...              0        0   3164   \n",
       "79         0        0             0       ...              0        0  28638   \n",
       "80         0        0             0       ...              0        0  47186   \n",
       "81         0        0             0       ...              0        0      1   \n",
       "82         0        0             0       ...              0        0  18855   \n",
       "83         6        6             5       ...              0        6      0   \n",
       "84    334021    25322        272655       ...         277585   306427   1719   \n",
       "85       645      645           557       ...              0      645      0   \n",
       "86        41       41            38       ...              0       41      0   \n",
       "87        40       40            35       ...              0       40      0   \n",
       "88        30        0            19       ...              0       30      0   \n",
       "89         0        0             0       ...              0        0   9301   \n",
       "90         0        0             0       ...              0        0      5   \n",
       "91        10       10             8       ...              0       10      0   \n",
       "92       260      260           219       ...              0      260      0   \n",
       "93         0        0             0       ...              0        0      5   \n",
       "94         6        2             2       ...              2        6      0   \n",
       "95     10148    10148          8738       ...              0    10148      0   \n",
       "96       105      105            72       ...              0      105      0   \n",
       "97         0        0            14       ...              0       16      0   \n",
       "98        73       73            37       ...              0       73     44   \n",
       "99        23        0            17       ...              0       23      0   \n",
       "100        0       77            56       ...              0       77      0   \n",
       "101        2        2             1       ...              0        2      0   \n",
       "102     3105     3105          2680       ...              0     3105      0   \n",
       "\n",
       "       wifi  geo_code  ip1_sub  ip2_sub      Tag  data_effective_num  \\\n",
       "0         0         0        0    56979    56979               56979   \n",
       "1         0     47968    69990        0    69990               69990   \n",
       "2         0      5512    11510        0    11510               11510   \n",
       "3         0      5089     8948        0     8948                8948   \n",
       "4         0         6        6        0        6                   6   \n",
       "5         0         0        0       58       58                  58   \n",
       "6         0         1        2        0        2                   2   \n",
       "7         0         0     3028        0     3028                3028   \n",
       "8      9911     12136    24134     1915    25769               25769   \n",
       "9         0         1       12        0       12                  12   \n",
       "10        0         6        6        0        6                   6   \n",
       "11        0         0        0    54686    54686               54686   \n",
       "12        0      2653     3851        0     3851                3851   \n",
       "13        0         0        0      384      384                 384   \n",
       "14        0        34       87        0       87                  87   \n",
       "15        0        25       27        0       27                  27   \n",
       "16        0        90      129        0      129                 129   \n",
       "17        0       111      111        0      111                 111   \n",
       "18        0     24028    26540        0    26540               26540   \n",
       "19        0        36       42        0       42                  42   \n",
       "20        0         0        0     6845     6845                6845   \n",
       "21       38        69      108        0      108                 108   \n",
       "22     2495      3977     6571        0     6577                6577   \n",
       "23        0       277      293        0      293                 293   \n",
       "24        0         0        0    66058    66058               66058   \n",
       "25        0       113      128        0      128                 128   \n",
       "26        0         0     1496        0     1496                1496   \n",
       "27        0         0        0     1432     1432                1432   \n",
       "28        0         1        1        0        1                   1   \n",
       "29        0         0        0    18749    18749               18749   \n",
       "..      ...       ...      ...      ...      ...                 ...   \n",
       "73        0         0      774       98      872                 872   \n",
       "74        0     14151    21613        0    21613               21613   \n",
       "75        0         5        6        0        6                   6   \n",
       "76   918121   1441175  1773812      143  1773956             1773956   \n",
       "77        0         1        1        0        1                   1   \n",
       "78        0         0        0     3164     3164                3164   \n",
       "79        0         0        0    28638    28638               28638   \n",
       "80        0         0        0    47186    47186               47186   \n",
       "81        0         0        0        1        1                   1   \n",
       "82        0         0        0    18855    18855               18855   \n",
       "83        0         6        6        0        6                   6   \n",
       "84     5433    240007   306427     1719   369693              369693   \n",
       "85        0       595      645        0      645                 645   \n",
       "86        0        37       41        0       41                  41   \n",
       "87        0        34       40        0       40                  40   \n",
       "88        0         0       30        0       30                  30   \n",
       "89        0         0        0     9301     9301                9301   \n",
       "90        0         0        0        5        5                   5   \n",
       "91        0         7       10        0       10                  10   \n",
       "92        0       246      260        0      260                 260   \n",
       "93        0         0        0        5    47843               47843   \n",
       "94        2         1        6        0        6                   6   \n",
       "95        0      5709    10148        0    10148               10148   \n",
       "96        0        67      105        0      105                 105   \n",
       "97        0         0       16        0       16                  16   \n",
       "98        0        37       73       44      117                 117   \n",
       "99        0        21       23        0       23                  23   \n",
       "100       0        50       77        0       77                  77   \n",
       "101       0         0        2        0        2                   2   \n",
       "102       0      1820     3105        0     3105                3105   \n",
       "\n",
       "     data_lose_rate  \n",
       "0             56979  \n",
       "1             69990  \n",
       "2             11510  \n",
       "3              8948  \n",
       "4                 6  \n",
       "5                58  \n",
       "6                 2  \n",
       "7              3028  \n",
       "8             25769  \n",
       "9                12  \n",
       "10                6  \n",
       "11            54686  \n",
       "12             3851  \n",
       "13              384  \n",
       "14               87  \n",
       "15               27  \n",
       "16              129  \n",
       "17              111  \n",
       "18            26540  \n",
       "19               42  \n",
       "20             6845  \n",
       "21              108  \n",
       "22             6577  \n",
       "23              293  \n",
       "24            66058  \n",
       "25              128  \n",
       "26             1496  \n",
       "27             1432  \n",
       "28                1  \n",
       "29            18749  \n",
       "..              ...  \n",
       "73              872  \n",
       "74            21613  \n",
       "75                6  \n",
       "76          1773956  \n",
       "77                1  \n",
       "78             3164  \n",
       "79            28638  \n",
       "80            47186  \n",
       "81                1  \n",
       "82            18855  \n",
       "83                6  \n",
       "84           369693  \n",
       "85              645  \n",
       "86               41  \n",
       "87               40  \n",
       "88               30  \n",
       "89             9301  \n",
       "90                5  \n",
       "91               10  \n",
       "92              260  \n",
       "93            47843  \n",
       "94                6  \n",
       "95            10148  \n",
       "96              105  \n",
       "97               16  \n",
       "98              117  \n",
       "99               23  \n",
       "100              77  \n",
       "101               2  \n",
       "102            3105  \n",
       "\n",
       "[103 rows x 23 columns]"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "op_merge.groupby(op_hd.mode).count().reset_index()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>mode</th>\n",
       "      <th>UID</th>\n",
       "      <th>day</th>\n",
       "      <th>success</th>\n",
       "      <th>time</th>\n",
       "      <th>os</th>\n",
       "      <th>version</th>\n",
       "      <th>device1</th>\n",
       "      <th>device2</th>\n",
       "      <th>device_code1</th>\n",
       "      <th>...</th>\n",
       "      <th>mac2</th>\n",
       "      <th>ip1</th>\n",
       "      <th>ip2</th>\n",
       "      <th>wifi</th>\n",
       "      <th>geo_code</th>\n",
       "      <th>ip1_sub</th>\n",
       "      <th>ip2_sub</th>\n",
       "      <th>Tag</th>\n",
       "      <th>data_effective_num</th>\n",
       "      <th>data_lose_rate</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>56979</td>\n",
       "      <td>56979</td>\n",
       "      <td>56979</td>\n",
       "      <td>56979</td>\n",
       "      <td>56979</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>56979</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>56979</td>\n",
       "      <td>56979</td>\n",
       "      <td>56979</td>\n",
       "      <td>56979</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>69990</td>\n",
       "      <td>69990</td>\n",
       "      <td>69990</td>\n",
       "      <td>69990</td>\n",
       "      <td>69990</td>\n",
       "      <td>69990</td>\n",
       "      <td>69990</td>\n",
       "      <td>69990</td>\n",
       "      <td>56885</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>69990</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>47968</td>\n",
       "      <td>69990</td>\n",
       "      <td>0</td>\n",
       "      <td>69990</td>\n",
       "      <td>69990</td>\n",
       "      <td>69990</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2</td>\n",
       "      <td>11510</td>\n",
       "      <td>11510</td>\n",
       "      <td>11510</td>\n",
       "      <td>11510</td>\n",
       "      <td>11510</td>\n",
       "      <td>11510</td>\n",
       "      <td>11510</td>\n",
       "      <td>11508</td>\n",
       "      <td>9461</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>11510</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>5512</td>\n",
       "      <td>11510</td>\n",
       "      <td>0</td>\n",
       "      <td>11510</td>\n",
       "      <td>11510</td>\n",
       "      <td>11510</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>3</td>\n",
       "      <td>8948</td>\n",
       "      <td>8948</td>\n",
       "      <td>8948</td>\n",
       "      <td>8948</td>\n",
       "      <td>8948</td>\n",
       "      <td>8948</td>\n",
       "      <td>8948</td>\n",
       "      <td>8948</td>\n",
       "      <td>7655</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>8948</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>5089</td>\n",
       "      <td>8948</td>\n",
       "      <td>0</td>\n",
       "      <td>8948</td>\n",
       "      <td>8948</td>\n",
       "      <td>8948</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>4</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>5</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>6</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>0</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>5</td>\n",
       "      <td>58</td>\n",
       "      <td>58</td>\n",
       "      <td>58</td>\n",
       "      <td>58</td>\n",
       "      <td>58</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>58</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>58</td>\n",
       "      <td>58</td>\n",
       "      <td>58</td>\n",
       "      <td>58</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>6</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>7</td>\n",
       "      <td>3028</td>\n",
       "      <td>3028</td>\n",
       "      <td>3028</td>\n",
       "      <td>3028</td>\n",
       "      <td>3028</td>\n",
       "      <td>2927</td>\n",
       "      <td>2927</td>\n",
       "      <td>0</td>\n",
       "      <td>2172</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>3028</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>3028</td>\n",
       "      <td>0</td>\n",
       "      <td>3028</td>\n",
       "      <td>3028</td>\n",
       "      <td>3028</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>8</td>\n",
       "      <td>25769</td>\n",
       "      <td>25769</td>\n",
       "      <td>25769</td>\n",
       "      <td>25769</td>\n",
       "      <td>25769</td>\n",
       "      <td>24123</td>\n",
       "      <td>23571</td>\n",
       "      <td>18377</td>\n",
       "      <td>19753</td>\n",
       "      <td>...</td>\n",
       "      <td>19648</td>\n",
       "      <td>24134</td>\n",
       "      <td>1915</td>\n",
       "      <td>9911</td>\n",
       "      <td>12136</td>\n",
       "      <td>24134</td>\n",
       "      <td>1915</td>\n",
       "      <td>25769</td>\n",
       "      <td>25769</td>\n",
       "      <td>25769</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>9</td>\n",
       "      <td>12</td>\n",
       "      <td>12</td>\n",
       "      <td>12</td>\n",
       "      <td>12</td>\n",
       "      <td>12</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>9</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>12</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>12</td>\n",
       "      <td>0</td>\n",
       "      <td>12</td>\n",
       "      <td>12</td>\n",
       "      <td>12</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>10</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>5</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>6</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>0</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>11</td>\n",
       "      <td>54686</td>\n",
       "      <td>54686</td>\n",
       "      <td>54686</td>\n",
       "      <td>54686</td>\n",
       "      <td>54686</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>54686</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>54686</td>\n",
       "      <td>54686</td>\n",
       "      <td>54686</td>\n",
       "      <td>54686</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>12</td>\n",
       "      <td>3851</td>\n",
       "      <td>3851</td>\n",
       "      <td>3851</td>\n",
       "      <td>3851</td>\n",
       "      <td>3851</td>\n",
       "      <td>3851</td>\n",
       "      <td>3851</td>\n",
       "      <td>3851</td>\n",
       "      <td>2968</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>3851</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2653</td>\n",
       "      <td>3851</td>\n",
       "      <td>0</td>\n",
       "      <td>3851</td>\n",
       "      <td>3851</td>\n",
       "      <td>3851</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>13</td>\n",
       "      <td>384</td>\n",
       "      <td>384</td>\n",
       "      <td>384</td>\n",
       "      <td>384</td>\n",
       "      <td>384</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>384</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>384</td>\n",
       "      <td>384</td>\n",
       "      <td>384</td>\n",
       "      <td>384</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>14</td>\n",
       "      <td>87</td>\n",
       "      <td>87</td>\n",
       "      <td>87</td>\n",
       "      <td>87</td>\n",
       "      <td>87</td>\n",
       "      <td>87</td>\n",
       "      <td>87</td>\n",
       "      <td>87</td>\n",
       "      <td>82</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>87</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>34</td>\n",
       "      <td>87</td>\n",
       "      <td>0</td>\n",
       "      <td>87</td>\n",
       "      <td>87</td>\n",
       "      <td>87</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>15</td>\n",
       "      <td>27</td>\n",
       "      <td>27</td>\n",
       "      <td>27</td>\n",
       "      <td>27</td>\n",
       "      <td>27</td>\n",
       "      <td>27</td>\n",
       "      <td>27</td>\n",
       "      <td>27</td>\n",
       "      <td>18</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>27</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>25</td>\n",
       "      <td>27</td>\n",
       "      <td>0</td>\n",
       "      <td>27</td>\n",
       "      <td>27</td>\n",
       "      <td>27</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>16</td>\n",
       "      <td>129</td>\n",
       "      <td>129</td>\n",
       "      <td>129</td>\n",
       "      <td>129</td>\n",
       "      <td>129</td>\n",
       "      <td>129</td>\n",
       "      <td>129</td>\n",
       "      <td>129</td>\n",
       "      <td>114</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>129</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>90</td>\n",
       "      <td>129</td>\n",
       "      <td>0</td>\n",
       "      <td>129</td>\n",
       "      <td>129</td>\n",
       "      <td>129</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>17</td>\n",
       "      <td>111</td>\n",
       "      <td>111</td>\n",
       "      <td>111</td>\n",
       "      <td>111</td>\n",
       "      <td>111</td>\n",
       "      <td>111</td>\n",
       "      <td>111</td>\n",
       "      <td>111</td>\n",
       "      <td>111</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>111</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>111</td>\n",
       "      <td>111</td>\n",
       "      <td>0</td>\n",
       "      <td>111</td>\n",
       "      <td>111</td>\n",
       "      <td>111</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>18</td>\n",
       "      <td>26540</td>\n",
       "      <td>26540</td>\n",
       "      <td>26540</td>\n",
       "      <td>26540</td>\n",
       "      <td>26540</td>\n",
       "      <td>26540</td>\n",
       "      <td>26540</td>\n",
       "      <td>26540</td>\n",
       "      <td>20613</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>26540</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>24028</td>\n",
       "      <td>26540</td>\n",
       "      <td>0</td>\n",
       "      <td>26540</td>\n",
       "      <td>26540</td>\n",
       "      <td>26540</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>19</td>\n",
       "      <td>42</td>\n",
       "      <td>42</td>\n",
       "      <td>42</td>\n",
       "      <td>42</td>\n",
       "      <td>42</td>\n",
       "      <td>42</td>\n",
       "      <td>42</td>\n",
       "      <td>0</td>\n",
       "      <td>36</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>42</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>36</td>\n",
       "      <td>42</td>\n",
       "      <td>0</td>\n",
       "      <td>42</td>\n",
       "      <td>42</td>\n",
       "      <td>42</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>20</td>\n",
       "      <td>6845</td>\n",
       "      <td>6845</td>\n",
       "      <td>6845</td>\n",
       "      <td>6845</td>\n",
       "      <td>6845</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>6845</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>6845</td>\n",
       "      <td>6845</td>\n",
       "      <td>6845</td>\n",
       "      <td>6845</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>21</td>\n",
       "      <td>108</td>\n",
       "      <td>108</td>\n",
       "      <td>108</td>\n",
       "      <td>108</td>\n",
       "      <td>108</td>\n",
       "      <td>108</td>\n",
       "      <td>108</td>\n",
       "      <td>108</td>\n",
       "      <td>74</td>\n",
       "      <td>...</td>\n",
       "      <td>74</td>\n",
       "      <td>108</td>\n",
       "      <td>0</td>\n",
       "      <td>38</td>\n",
       "      <td>69</td>\n",
       "      <td>108</td>\n",
       "      <td>0</td>\n",
       "      <td>108</td>\n",
       "      <td>108</td>\n",
       "      <td>108</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>22</td>\n",
       "      <td>6577</td>\n",
       "      <td>6577</td>\n",
       "      <td>6577</td>\n",
       "      <td>6577</td>\n",
       "      <td>6577</td>\n",
       "      <td>6571</td>\n",
       "      <td>6571</td>\n",
       "      <td>6571</td>\n",
       "      <td>5563</td>\n",
       "      <td>...</td>\n",
       "      <td>5543</td>\n",
       "      <td>6571</td>\n",
       "      <td>0</td>\n",
       "      <td>2495</td>\n",
       "      <td>3977</td>\n",
       "      <td>6571</td>\n",
       "      <td>0</td>\n",
       "      <td>6577</td>\n",
       "      <td>6577</td>\n",
       "      <td>6577</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>23</td>\n",
       "      <td>293</td>\n",
       "      <td>293</td>\n",
       "      <td>293</td>\n",
       "      <td>293</td>\n",
       "      <td>293</td>\n",
       "      <td>293</td>\n",
       "      <td>293</td>\n",
       "      <td>293</td>\n",
       "      <td>198</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>293</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>277</td>\n",
       "      <td>293</td>\n",
       "      <td>0</td>\n",
       "      <td>293</td>\n",
       "      <td>293</td>\n",
       "      <td>293</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>24</td>\n",
       "      <td>66058</td>\n",
       "      <td>66058</td>\n",
       "      <td>66058</td>\n",
       "      <td>66058</td>\n",
       "      <td>66058</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>66058</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>66058</td>\n",
       "      <td>66058</td>\n",
       "      <td>66058</td>\n",
       "      <td>66058</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>25</td>\n",
       "      <td>128</td>\n",
       "      <td>128</td>\n",
       "      <td>128</td>\n",
       "      <td>128</td>\n",
       "      <td>128</td>\n",
       "      <td>128</td>\n",
       "      <td>128</td>\n",
       "      <td>128</td>\n",
       "      <td>115</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>128</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>113</td>\n",
       "      <td>128</td>\n",
       "      <td>0</td>\n",
       "      <td>128</td>\n",
       "      <td>128</td>\n",
       "      <td>128</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>26</td>\n",
       "      <td>1496</td>\n",
       "      <td>1496</td>\n",
       "      <td>1496</td>\n",
       "      <td>1496</td>\n",
       "      <td>1496</td>\n",
       "      <td>1496</td>\n",
       "      <td>1496</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1496</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1496</td>\n",
       "      <td>0</td>\n",
       "      <td>1496</td>\n",
       "      <td>1496</td>\n",
       "      <td>1496</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>27</td>\n",
       "      <td>1432</td>\n",
       "      <td>1432</td>\n",
       "      <td>1432</td>\n",
       "      <td>1432</td>\n",
       "      <td>1432</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1432</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1432</td>\n",
       "      <td>1432</td>\n",
       "      <td>1432</td>\n",
       "      <td>1432</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>28</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>29</td>\n",
       "      <td>18749</td>\n",
       "      <td>18749</td>\n",
       "      <td>18749</td>\n",
       "      <td>18749</td>\n",
       "      <td>18749</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>18749</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>18749</td>\n",
       "      <td>18749</td>\n",
       "      <td>18749</td>\n",
       "      <td>18749</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>73</th>\n",
       "      <td>73</td>\n",
       "      <td>872</td>\n",
       "      <td>872</td>\n",
       "      <td>872</td>\n",
       "      <td>872</td>\n",
       "      <td>872</td>\n",
       "      <td>774</td>\n",
       "      <td>774</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>774</td>\n",
       "      <td>98</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>774</td>\n",
       "      <td>98</td>\n",
       "      <td>872</td>\n",
       "      <td>872</td>\n",
       "      <td>872</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>74</th>\n",
       "      <td>74</td>\n",
       "      <td>21613</td>\n",
       "      <td>21613</td>\n",
       "      <td>21613</td>\n",
       "      <td>21613</td>\n",
       "      <td>21613</td>\n",
       "      <td>21613</td>\n",
       "      <td>21613</td>\n",
       "      <td>21612</td>\n",
       "      <td>18171</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>21613</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>14151</td>\n",
       "      <td>21613</td>\n",
       "      <td>0</td>\n",
       "      <td>21613</td>\n",
       "      <td>21613</td>\n",
       "      <td>21613</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75</th>\n",
       "      <td>75</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>5</td>\n",
       "      <td>3</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>6</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>5</td>\n",
       "      <td>6</td>\n",
       "      <td>0</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>76</th>\n",
       "      <td>76</td>\n",
       "      <td>1773956</td>\n",
       "      <td>1773956</td>\n",
       "      <td>1773956</td>\n",
       "      <td>1773956</td>\n",
       "      <td>1773956</td>\n",
       "      <td>1773955</td>\n",
       "      <td>1773812</td>\n",
       "      <td>1772722</td>\n",
       "      <td>1510558</td>\n",
       "      <td>...</td>\n",
       "      <td>1500479</td>\n",
       "      <td>1773812</td>\n",
       "      <td>143</td>\n",
       "      <td>918121</td>\n",
       "      <td>1441175</td>\n",
       "      <td>1773812</td>\n",
       "      <td>143</td>\n",
       "      <td>1773956</td>\n",
       "      <td>1773956</td>\n",
       "      <td>1773956</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>77</th>\n",
       "      <td>77</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>78</th>\n",
       "      <td>78</td>\n",
       "      <td>3164</td>\n",
       "      <td>3164</td>\n",
       "      <td>3164</td>\n",
       "      <td>3164</td>\n",
       "      <td>3164</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>3164</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>3164</td>\n",
       "      <td>3164</td>\n",
       "      <td>3164</td>\n",
       "      <td>3164</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>79</th>\n",
       "      <td>79</td>\n",
       "      <td>28638</td>\n",
       "      <td>28638</td>\n",
       "      <td>28638</td>\n",
       "      <td>28638</td>\n",
       "      <td>28638</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>28638</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>28638</td>\n",
       "      <td>28638</td>\n",
       "      <td>28638</td>\n",
       "      <td>28638</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>80</th>\n",
       "      <td>80</td>\n",
       "      <td>47186</td>\n",
       "      <td>47186</td>\n",
       "      <td>47186</td>\n",
       "      <td>47186</td>\n",
       "      <td>47186</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>47186</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>47186</td>\n",
       "      <td>47186</td>\n",
       "      <td>47186</td>\n",
       "      <td>47186</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>81</th>\n",
       "      <td>81</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>82</th>\n",
       "      <td>82</td>\n",
       "      <td>18855</td>\n",
       "      <td>18855</td>\n",
       "      <td>18855</td>\n",
       "      <td>18855</td>\n",
       "      <td>18855</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>18855</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>18855</td>\n",
       "      <td>18855</td>\n",
       "      <td>18855</td>\n",
       "      <td>18855</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>83</th>\n",
       "      <td>83</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>5</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>6</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>0</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>84</th>\n",
       "      <td>84</td>\n",
       "      <td>369693</td>\n",
       "      <td>369693</td>\n",
       "      <td>369693</td>\n",
       "      <td>369693</td>\n",
       "      <td>369693</td>\n",
       "      <td>329497</td>\n",
       "      <td>334021</td>\n",
       "      <td>25322</td>\n",
       "      <td>272655</td>\n",
       "      <td>...</td>\n",
       "      <td>277585</td>\n",
       "      <td>306427</td>\n",
       "      <td>1719</td>\n",
       "      <td>5433</td>\n",
       "      <td>240007</td>\n",
       "      <td>306427</td>\n",
       "      <td>1719</td>\n",
       "      <td>369693</td>\n",
       "      <td>369693</td>\n",
       "      <td>369693</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>85</th>\n",
       "      <td>85</td>\n",
       "      <td>645</td>\n",
       "      <td>645</td>\n",
       "      <td>645</td>\n",
       "      <td>645</td>\n",
       "      <td>645</td>\n",
       "      <td>645</td>\n",
       "      <td>645</td>\n",
       "      <td>645</td>\n",
       "      <td>557</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>645</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>595</td>\n",
       "      <td>645</td>\n",
       "      <td>0</td>\n",
       "      <td>645</td>\n",
       "      <td>645</td>\n",
       "      <td>645</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>86</th>\n",
       "      <td>86</td>\n",
       "      <td>41</td>\n",
       "      <td>41</td>\n",
       "      <td>41</td>\n",
       "      <td>41</td>\n",
       "      <td>41</td>\n",
       "      <td>41</td>\n",
       "      <td>41</td>\n",
       "      <td>41</td>\n",
       "      <td>38</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>41</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>37</td>\n",
       "      <td>41</td>\n",
       "      <td>0</td>\n",
       "      <td>41</td>\n",
       "      <td>41</td>\n",
       "      <td>41</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>87</th>\n",
       "      <td>87</td>\n",
       "      <td>40</td>\n",
       "      <td>40</td>\n",
       "      <td>40</td>\n",
       "      <td>40</td>\n",
       "      <td>40</td>\n",
       "      <td>40</td>\n",
       "      <td>40</td>\n",
       "      <td>40</td>\n",
       "      <td>35</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>40</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>34</td>\n",
       "      <td>40</td>\n",
       "      <td>0</td>\n",
       "      <td>40</td>\n",
       "      <td>40</td>\n",
       "      <td>40</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>88</th>\n",
       "      <td>88</td>\n",
       "      <td>30</td>\n",
       "      <td>30</td>\n",
       "      <td>30</td>\n",
       "      <td>30</td>\n",
       "      <td>30</td>\n",
       "      <td>30</td>\n",
       "      <td>30</td>\n",
       "      <td>0</td>\n",
       "      <td>19</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>30</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>30</td>\n",
       "      <td>0</td>\n",
       "      <td>30</td>\n",
       "      <td>30</td>\n",
       "      <td>30</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>89</th>\n",
       "      <td>89</td>\n",
       "      <td>9301</td>\n",
       "      <td>9301</td>\n",
       "      <td>9301</td>\n",
       "      <td>9301</td>\n",
       "      <td>9301</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>9301</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>9301</td>\n",
       "      <td>9301</td>\n",
       "      <td>9301</td>\n",
       "      <td>9301</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>90</th>\n",
       "      <td>90</td>\n",
       "      <td>5</td>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>5</td>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>5</td>\n",
       "      <td>5</td>\n",
       "      <td>5</td>\n",
       "      <td>5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>91</th>\n",
       "      <td>91</td>\n",
       "      <td>10</td>\n",
       "      <td>10</td>\n",
       "      <td>10</td>\n",
       "      <td>10</td>\n",
       "      <td>10</td>\n",
       "      <td>10</td>\n",
       "      <td>10</td>\n",
       "      <td>10</td>\n",
       "      <td>8</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>10</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>7</td>\n",
       "      <td>10</td>\n",
       "      <td>0</td>\n",
       "      <td>10</td>\n",
       "      <td>10</td>\n",
       "      <td>10</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>92</th>\n",
       "      <td>92</td>\n",
       "      <td>260</td>\n",
       "      <td>260</td>\n",
       "      <td>260</td>\n",
       "      <td>260</td>\n",
       "      <td>260</td>\n",
       "      <td>260</td>\n",
       "      <td>260</td>\n",
       "      <td>260</td>\n",
       "      <td>219</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>260</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>246</td>\n",
       "      <td>260</td>\n",
       "      <td>0</td>\n",
       "      <td>260</td>\n",
       "      <td>260</td>\n",
       "      <td>260</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>93</th>\n",
       "      <td>93</td>\n",
       "      <td>47843</td>\n",
       "      <td>47843</td>\n",
       "      <td>0</td>\n",
       "      <td>47843</td>\n",
       "      <td>47843</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>5</td>\n",
       "      <td>47843</td>\n",
       "      <td>47843</td>\n",
       "      <td>47843</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>94</th>\n",
       "      <td>94</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>...</td>\n",
       "      <td>2</td>\n",
       "      <td>6</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>6</td>\n",
       "      <td>0</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>95</th>\n",
       "      <td>95</td>\n",
       "      <td>10148</td>\n",
       "      <td>10148</td>\n",
       "      <td>10148</td>\n",
       "      <td>10148</td>\n",
       "      <td>10148</td>\n",
       "      <td>10148</td>\n",
       "      <td>10148</td>\n",
       "      <td>10148</td>\n",
       "      <td>8738</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>10148</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>5709</td>\n",
       "      <td>10148</td>\n",
       "      <td>0</td>\n",
       "      <td>10148</td>\n",
       "      <td>10148</td>\n",
       "      <td>10148</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>96</th>\n",
       "      <td>96</td>\n",
       "      <td>105</td>\n",
       "      <td>105</td>\n",
       "      <td>105</td>\n",
       "      <td>105</td>\n",
       "      <td>105</td>\n",
       "      <td>105</td>\n",
       "      <td>105</td>\n",
       "      <td>105</td>\n",
       "      <td>72</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>105</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>67</td>\n",
       "      <td>105</td>\n",
       "      <td>0</td>\n",
       "      <td>105</td>\n",
       "      <td>105</td>\n",
       "      <td>105</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>97</th>\n",
       "      <td>97</td>\n",
       "      <td>16</td>\n",
       "      <td>16</td>\n",
       "      <td>16</td>\n",
       "      <td>16</td>\n",
       "      <td>16</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>14</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>16</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>16</td>\n",
       "      <td>0</td>\n",
       "      <td>16</td>\n",
       "      <td>16</td>\n",
       "      <td>16</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>98</th>\n",
       "      <td>98</td>\n",
       "      <td>117</td>\n",
       "      <td>117</td>\n",
       "      <td>117</td>\n",
       "      <td>117</td>\n",
       "      <td>117</td>\n",
       "      <td>55</td>\n",
       "      <td>73</td>\n",
       "      <td>73</td>\n",
       "      <td>37</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>73</td>\n",
       "      <td>44</td>\n",
       "      <td>0</td>\n",
       "      <td>37</td>\n",
       "      <td>73</td>\n",
       "      <td>44</td>\n",
       "      <td>117</td>\n",
       "      <td>117</td>\n",
       "      <td>117</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>99</th>\n",
       "      <td>99</td>\n",
       "      <td>23</td>\n",
       "      <td>23</td>\n",
       "      <td>23</td>\n",
       "      <td>23</td>\n",
       "      <td>23</td>\n",
       "      <td>23</td>\n",
       "      <td>23</td>\n",
       "      <td>0</td>\n",
       "      <td>17</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>23</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>21</td>\n",
       "      <td>23</td>\n",
       "      <td>0</td>\n",
       "      <td>23</td>\n",
       "      <td>23</td>\n",
       "      <td>23</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>100</th>\n",
       "      <td>100</td>\n",
       "      <td>77</td>\n",
       "      <td>77</td>\n",
       "      <td>77</td>\n",
       "      <td>77</td>\n",
       "      <td>77</td>\n",
       "      <td>21</td>\n",
       "      <td>0</td>\n",
       "      <td>77</td>\n",
       "      <td>56</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>77</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>50</td>\n",
       "      <td>77</td>\n",
       "      <td>0</td>\n",
       "      <td>77</td>\n",
       "      <td>77</td>\n",
       "      <td>77</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>101</th>\n",
       "      <td>101</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>102</th>\n",
       "      <td>102</td>\n",
       "      <td>3105</td>\n",
       "      <td>3105</td>\n",
       "      <td>3105</td>\n",
       "      <td>3105</td>\n",
       "      <td>3105</td>\n",
       "      <td>3105</td>\n",
       "      <td>3105</td>\n",
       "      <td>3105</td>\n",
       "      <td>2680</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>3105</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1820</td>\n",
       "      <td>3105</td>\n",
       "      <td>0</td>\n",
       "      <td>3105</td>\n",
       "      <td>3105</td>\n",
       "      <td>3105</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>103 rows × 23 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "     mode      UID      day  success     time       os  version  device1  \\\n",
       "0       0    56979    56979    56979    56979    56979        0        0   \n",
       "1       1    69990    69990    69990    69990    69990    69990    69990   \n",
       "2       2    11510    11510    11510    11510    11510    11510    11510   \n",
       "3       3     8948     8948     8948     8948     8948     8948     8948   \n",
       "4       4        6        6        6        6        6        6        6   \n",
       "5       5       58       58       58       58       58        0        0   \n",
       "6       6        2        2        2        2        2        2        2   \n",
       "7       7     3028     3028     3028     3028     3028     2927     2927   \n",
       "8       8    25769    25769    25769    25769    25769    24123    23571   \n",
       "9       9       12       12       12       12       12        1        1   \n",
       "10     10        6        6        6        6        6        6        6   \n",
       "11     11    54686    54686    54686    54686    54686        0        0   \n",
       "12     12     3851     3851     3851     3851     3851     3851     3851   \n",
       "13     13      384      384      384      384      384        0        0   \n",
       "14     14       87       87       87       87       87       87       87   \n",
       "15     15       27       27       27       27       27       27       27   \n",
       "16     16      129      129      129      129      129      129      129   \n",
       "17     17      111      111      111      111      111      111      111   \n",
       "18     18    26540    26540    26540    26540    26540    26540    26540   \n",
       "19     19       42       42       42       42       42       42       42   \n",
       "20     20     6845     6845     6845     6845     6845        0        0   \n",
       "21     21      108      108      108      108      108      108      108   \n",
       "22     22     6577     6577     6577     6577     6577     6571     6571   \n",
       "23     23      293      293      293      293      293      293      293   \n",
       "24     24    66058    66058    66058    66058    66058        0        0   \n",
       "25     25      128      128      128      128      128      128      128   \n",
       "26     26     1496     1496     1496     1496     1496     1496     1496   \n",
       "27     27     1432     1432     1432     1432     1432        0        0   \n",
       "28     28        1        1        1        1        1        1        1   \n",
       "29     29    18749    18749    18749    18749    18749        0        0   \n",
       "..    ...      ...      ...      ...      ...      ...      ...      ...   \n",
       "73     73      872      872      872      872      872      774      774   \n",
       "74     74    21613    21613    21613    21613    21613    21613    21613   \n",
       "75     75        6        6        6        6        6        6        6   \n",
       "76     76  1773956  1773956  1773956  1773956  1773956  1773955  1773812   \n",
       "77     77        1        1        1        1        1        1        1   \n",
       "78     78     3164     3164     3164     3164     3164        0        0   \n",
       "79     79    28638    28638    28638    28638    28638        0        0   \n",
       "80     80    47186    47186    47186    47186    47186        0        0   \n",
       "81     81        1        1        1        1        1        0        0   \n",
       "82     82    18855    18855    18855    18855    18855        0        0   \n",
       "83     83        6        6        6        6        6        6        6   \n",
       "84     84   369693   369693   369693   369693   369693   329497   334021   \n",
       "85     85      645      645      645      645      645      645      645   \n",
       "86     86       41       41       41       41       41       41       41   \n",
       "87     87       40       40       40       40       40       40       40   \n",
       "88     88       30       30       30       30       30       30       30   \n",
       "89     89     9301     9301     9301     9301     9301        0        0   \n",
       "90     90        5        5        0        5        5        0        0   \n",
       "91     91       10       10       10       10       10       10       10   \n",
       "92     92      260      260      260      260      260      260      260   \n",
       "93     93    47843    47843        0    47843    47843        0        0   \n",
       "94     94        6        6        6        6        6        6        6   \n",
       "95     95    10148    10148    10148    10148    10148    10148    10148   \n",
       "96     96      105      105      105      105      105      105      105   \n",
       "97     97       16       16       16       16       16        0        0   \n",
       "98     98      117      117      117      117      117       55       73   \n",
       "99     99       23       23       23       23       23       23       23   \n",
       "100   100       77       77       77       77       77       21        0   \n",
       "101   101        2        2        2        2        2        2        2   \n",
       "102   102     3105     3105     3105     3105     3105     3105     3105   \n",
       "\n",
       "     device2  device_code1       ...           mac2      ip1    ip2    wifi  \\\n",
       "0          0             0       ...              0        0  56979       0   \n",
       "1      69990         56885       ...              0    69990      0       0   \n",
       "2      11508          9461       ...              0    11510      0       0   \n",
       "3       8948          7655       ...              0     8948      0       0   \n",
       "4          6             5       ...              0        6      0       0   \n",
       "5          0             0       ...              0        0     58       0   \n",
       "6          2             1       ...              0        2      0       0   \n",
       "7          0          2172       ...              0     3028      0       0   \n",
       "8      18377         19753       ...          19648    24134   1915    9911   \n",
       "9          0             9       ...              0       12      0       0   \n",
       "10         6             5       ...              0        6      0       0   \n",
       "11         0             0       ...              0        0  54686       0   \n",
       "12      3851          2968       ...              0     3851      0       0   \n",
       "13         0             0       ...              0        0    384       0   \n",
       "14        87            82       ...              0       87      0       0   \n",
       "15        27            18       ...              0       27      0       0   \n",
       "16       129           114       ...              0      129      0       0   \n",
       "17       111           111       ...              0      111      0       0   \n",
       "18     26540         20613       ...              0    26540      0       0   \n",
       "19         0            36       ...              0       42      0       0   \n",
       "20         0             0       ...              0        0   6845       0   \n",
       "21       108            74       ...             74      108      0      38   \n",
       "22      6571          5563       ...           5543     6571      0    2495   \n",
       "23       293           198       ...              0      293      0       0   \n",
       "24         0             0       ...              0        0  66058       0   \n",
       "25       128           115       ...              0      128      0       0   \n",
       "26         0             0       ...              0     1496      0       0   \n",
       "27         0             0       ...              0        0   1432       0   \n",
       "28         0             1       ...              0        1      0       0   \n",
       "29         0             0       ...              0        0  18749       0   \n",
       "..       ...           ...       ...            ...      ...    ...     ...   \n",
       "73         0             0       ...              0      774     98       0   \n",
       "74     21612         18171       ...              0    21613      0       0   \n",
       "75         5             3       ...              0        6      0       0   \n",
       "76   1772722       1510558       ...        1500479  1773812    143  918121   \n",
       "77         1             1       ...              0        1      0       0   \n",
       "78         0             0       ...              0        0   3164       0   \n",
       "79         0             0       ...              0        0  28638       0   \n",
       "80         0             0       ...              0        0  47186       0   \n",
       "81         0             0       ...              0        0      1       0   \n",
       "82         0             0       ...              0        0  18855       0   \n",
       "83         6             5       ...              0        6      0       0   \n",
       "84     25322        272655       ...         277585   306427   1719    5433   \n",
       "85       645           557       ...              0      645      0       0   \n",
       "86        41            38       ...              0       41      0       0   \n",
       "87        40            35       ...              0       40      0       0   \n",
       "88         0            19       ...              0       30      0       0   \n",
       "89         0             0       ...              0        0   9301       0   \n",
       "90         0             0       ...              0        0      5       0   \n",
       "91        10             8       ...              0       10      0       0   \n",
       "92       260           219       ...              0      260      0       0   \n",
       "93         0             0       ...              0        0      5       0   \n",
       "94         2             2       ...              2        6      0       2   \n",
       "95     10148          8738       ...              0    10148      0       0   \n",
       "96       105            72       ...              0      105      0       0   \n",
       "97         0            14       ...              0       16      0       0   \n",
       "98        73            37       ...              0       73     44       0   \n",
       "99         0            17       ...              0       23      0       0   \n",
       "100       77            56       ...              0       77      0       0   \n",
       "101        2             1       ...              0        2      0       0   \n",
       "102     3105          2680       ...              0     3105      0       0   \n",
       "\n",
       "     geo_code  ip1_sub  ip2_sub      Tag  data_effective_num  data_lose_rate  \n",
       "0           0        0    56979    56979               56979           56979  \n",
       "1       47968    69990        0    69990               69990           69990  \n",
       "2        5512    11510        0    11510               11510           11510  \n",
       "3        5089     8948        0     8948                8948            8948  \n",
       "4           6        6        0        6                   6               6  \n",
       "5           0        0       58       58                  58              58  \n",
       "6           1        2        0        2                   2               2  \n",
       "7           0     3028        0     3028                3028            3028  \n",
       "8       12136    24134     1915    25769               25769           25769  \n",
       "9           1       12        0       12                  12              12  \n",
       "10          6        6        0        6                   6               6  \n",
       "11          0        0    54686    54686               54686           54686  \n",
       "12       2653     3851        0     3851                3851            3851  \n",
       "13          0        0      384      384                 384             384  \n",
       "14         34       87        0       87                  87              87  \n",
       "15         25       27        0       27                  27              27  \n",
       "16         90      129        0      129                 129             129  \n",
       "17        111      111        0      111                 111             111  \n",
       "18      24028    26540        0    26540               26540           26540  \n",
       "19         36       42        0       42                  42              42  \n",
       "20          0        0     6845     6845                6845            6845  \n",
       "21         69      108        0      108                 108             108  \n",
       "22       3977     6571        0     6577                6577            6577  \n",
       "23        277      293        0      293                 293             293  \n",
       "24          0        0    66058    66058               66058           66058  \n",
       "25        113      128        0      128                 128             128  \n",
       "26          0     1496        0     1496                1496            1496  \n",
       "27          0        0     1432     1432                1432            1432  \n",
       "28          1        1        0        1                   1               1  \n",
       "29          0        0    18749    18749               18749           18749  \n",
       "..        ...      ...      ...      ...                 ...             ...  \n",
       "73          0      774       98      872                 872             872  \n",
       "74      14151    21613        0    21613               21613           21613  \n",
       "75          5        6        0        6                   6               6  \n",
       "76    1441175  1773812      143  1773956             1773956         1773956  \n",
       "77          1        1        0        1                   1               1  \n",
       "78          0        0     3164     3164                3164            3164  \n",
       "79          0        0    28638    28638               28638           28638  \n",
       "80          0        0    47186    47186               47186           47186  \n",
       "81          0        0        1        1                   1               1  \n",
       "82          0        0    18855    18855               18855           18855  \n",
       "83          6        6        0        6                   6               6  \n",
       "84     240007   306427     1719   369693              369693          369693  \n",
       "85        595      645        0      645                 645             645  \n",
       "86         37       41        0       41                  41              41  \n",
       "87         34       40        0       40                  40              40  \n",
       "88          0       30        0       30                  30              30  \n",
       "89          0        0     9301     9301                9301            9301  \n",
       "90          0        0        5        5                   5               5  \n",
       "91          7       10        0       10                  10              10  \n",
       "92        246      260        0      260                 260             260  \n",
       "93          0        0        5    47843               47843           47843  \n",
       "94          1        6        0        6                   6               6  \n",
       "95       5709    10148        0    10148               10148           10148  \n",
       "96         67      105        0      105                 105             105  \n",
       "97          0       16        0       16                  16              16  \n",
       "98         37       73       44      117                 117             117  \n",
       "99         21       23        0       23                  23              23  \n",
       "100        50       77        0       77                  77              77  \n",
       "101         0        2        0        2                   2               2  \n",
       "102      1820     3105        0     3105                3105            3105  \n",
       "\n",
       "[103 rows x 23 columns]"
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "def filed2encode_f(df, filed):\n",
    "    \"\"\"\n",
    "    # 原始数据的标签映射\n",
    "    :return:\n",
    "    \"\"\"\n",
    "    fs = set(df[filed])\n",
    "    filed2encode = dict(\n",
    "        zip(sorted(list(fs)), range(0, len(fs))))\n",
    "    df[filed] = df[filed].map(filed2encode)\n",
    "    return df\n",
    "\n",
    "op_merge = filed2encode_f(op_merge, op_hd.mode)\n",
    "op_merge.groupby(op_hd.mode).count().reset_index()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>success</th>\n",
       "      <th>UID</th>\n",
       "      <th>day</th>\n",
       "      <th>mode</th>\n",
       "      <th>time</th>\n",
       "      <th>os</th>\n",
       "      <th>version</th>\n",
       "      <th>device1</th>\n",
       "      <th>device2</th>\n",
       "      <th>device_code1</th>\n",
       "      <th>...</th>\n",
       "      <th>mac2</th>\n",
       "      <th>ip1</th>\n",
       "      <th>ip2</th>\n",
       "      <th>wifi</th>\n",
       "      <th>geo_code</th>\n",
       "      <th>ip1_sub</th>\n",
       "      <th>ip2_sub</th>\n",
       "      <th>Tag</th>\n",
       "      <th>data_effective_num</th>\n",
       "      <th>data_lose_rate</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0.0</td>\n",
       "      <td>152100</td>\n",
       "      <td>152100</td>\n",
       "      <td>152100</td>\n",
       "      <td>152100</td>\n",
       "      <td>152100</td>\n",
       "      <td>118292</td>\n",
       "      <td>119398</td>\n",
       "      <td>92655</td>\n",
       "      <td>97062</td>\n",
       "      <td>...</td>\n",
       "      <td>74129</td>\n",
       "      <td>116997</td>\n",
       "      <td>16256</td>\n",
       "      <td>34618</td>\n",
       "      <td>82510</td>\n",
       "      <td>116997</td>\n",
       "      <td>16256</td>\n",
       "      <td>152100</td>\n",
       "      <td>152100</td>\n",
       "      <td>152100</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1.0</td>\n",
       "      <td>2883884</td>\n",
       "      <td>2883884</td>\n",
       "      <td>2883884</td>\n",
       "      <td>2883884</td>\n",
       "      <td>2883884</td>\n",
       "      <td>2518275</td>\n",
       "      <td>2521237</td>\n",
       "      <td>2208018</td>\n",
       "      <td>2128144</td>\n",
       "      <td>...</td>\n",
       "      <td>1815909</td>\n",
       "      <td>2497276</td>\n",
       "      <td>344181</td>\n",
       "      <td>946111</td>\n",
       "      <td>1977937</td>\n",
       "      <td>2497276</td>\n",
       "      <td>344181</td>\n",
       "      <td>2883884</td>\n",
       "      <td>2883884</td>\n",
       "      <td>2883884</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>2 rows × 23 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   success      UID      day     mode     time       os  version  device1  \\\n",
       "0      0.0   152100   152100   152100   152100   152100   118292   119398   \n",
       "1      1.0  2883884  2883884  2883884  2883884  2883884  2518275  2521237   \n",
       "\n",
       "   device2  device_code1       ...           mac2      ip1     ip2    wifi  \\\n",
       "0    92655         97062       ...          74129   116997   16256   34618   \n",
       "1  2208018       2128144       ...        1815909  2497276  344181  946111   \n",
       "\n",
       "   geo_code  ip1_sub  ip2_sub      Tag  data_effective_num  data_lose_rate  \n",
       "0     82510   116997    16256   152100              152100          152100  \n",
       "1   1977937  2497276   344181  2883884             2883884         2883884  \n",
       "\n",
       "[2 rows x 23 columns]"
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# op_merge = filed2encode_f(op_merge, op_hd.success)\n",
    "op_merge.groupby(op_hd.success).count().reset_index()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>UID</th>\n",
       "      <th>day</th>\n",
       "      <th>mode</th>\n",
       "      <th>success</th>\n",
       "      <th>time</th>\n",
       "      <th>os</th>\n",
       "      <th>version</th>\n",
       "      <th>device1</th>\n",
       "      <th>device2</th>\n",
       "      <th>device_code1</th>\n",
       "      <th>...</th>\n",
       "      <th>mac2</th>\n",
       "      <th>ip1</th>\n",
       "      <th>ip2</th>\n",
       "      <th>wifi</th>\n",
       "      <th>geo_code</th>\n",
       "      <th>ip1_sub</th>\n",
       "      <th>ip2_sub</th>\n",
       "      <th>Tag</th>\n",
       "      <th>data_effective_num</th>\n",
       "      <th>data_lose_rate</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>10035</td>\n",
       "      <td>30</td>\n",
       "      <td>76</td>\n",
       "      <td>1.0</td>\n",
       "      <td>17</td>\n",
       "      <td>102</td>\n",
       "      <td>7.0.9</td>\n",
       "      <td>49dd36968dbfadda</td>\n",
       "      <td>OPPO R11</td>\n",
       "      <td>ecb58082e0e9b8e2</td>\n",
       "      <td>...</td>\n",
       "      <td>a8dc52f65085212e</td>\n",
       "      <td>55dd8936655c86f6</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>wskx</td>\n",
       "      <td>e58e48fb9215116e</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0</td>\n",
       "      <td>16</td>\n",
       "      <td>0.227273</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>10035</td>\n",
       "      <td>27</td>\n",
       "      <td>76</td>\n",
       "      <td>1.0</td>\n",
       "      <td>09</td>\n",
       "      <td>102</td>\n",
       "      <td>7.0.9</td>\n",
       "      <td>49dd36968dbfadda</td>\n",
       "      <td>OPPO R11</td>\n",
       "      <td>ecb58082e0e9b8e2</td>\n",
       "      <td>...</td>\n",
       "      <td>a8dc52f65085212e</td>\n",
       "      <td>afab1706b871ffab</td>\n",
       "      <td>NaN</td>\n",
       "      <td>64adc604e1123cdd</td>\n",
       "      <td>ws7g</td>\n",
       "      <td>8ef6f3daeffdbe3d</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0</td>\n",
       "      <td>17</td>\n",
       "      <td>0.181818</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>10035</td>\n",
       "      <td>27</td>\n",
       "      <td>76</td>\n",
       "      <td>1.0</td>\n",
       "      <td>09</td>\n",
       "      <td>102</td>\n",
       "      <td>7.0.9</td>\n",
       "      <td>49dd36968dbfadda</td>\n",
       "      <td>OPPO R11</td>\n",
       "      <td>ecb58082e0e9b8e2</td>\n",
       "      <td>...</td>\n",
       "      <td>a8dc52f65085212e</td>\n",
       "      <td>afab1706b871ffab</td>\n",
       "      <td>NaN</td>\n",
       "      <td>64adc604e1123cdd</td>\n",
       "      <td>ws7g</td>\n",
       "      <td>8ef6f3daeffdbe3d</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0</td>\n",
       "      <td>17</td>\n",
       "      <td>0.181818</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>10035</td>\n",
       "      <td>1</td>\n",
       "      <td>76</td>\n",
       "      <td>1.0</td>\n",
       "      <td>20</td>\n",
       "      <td>102</td>\n",
       "      <td>7.0.5</td>\n",
       "      <td>49dd36968dbfadda</td>\n",
       "      <td>OPPO R11</td>\n",
       "      <td>ecb58082e0e9b8e2</td>\n",
       "      <td>...</td>\n",
       "      <td>a8dc52f65085212e</td>\n",
       "      <td>97aeb123fafe5672</td>\n",
       "      <td>NaN</td>\n",
       "      <td>90a50ea267f6ef45</td>\n",
       "      <td>ws7g</td>\n",
       "      <td>77aa94e2b65e0d4e</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0</td>\n",
       "      <td>17</td>\n",
       "      <td>0.181818</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>10035</td>\n",
       "      <td>26</td>\n",
       "      <td>76</td>\n",
       "      <td>1.0</td>\n",
       "      <td>12</td>\n",
       "      <td>102</td>\n",
       "      <td>7.0.9</td>\n",
       "      <td>49dd36968dbfadda</td>\n",
       "      <td>OPPO R11</td>\n",
       "      <td>ecb58082e0e9b8e2</td>\n",
       "      <td>...</td>\n",
       "      <td>a8dc52f65085212e</td>\n",
       "      <td>9c9d49eddb6a59c3</td>\n",
       "      <td>NaN</td>\n",
       "      <td>90a50ea267f6ef45</td>\n",
       "      <td>ws7g</td>\n",
       "      <td>77aa94e2b65e0d4e</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0</td>\n",
       "      <td>17</td>\n",
       "      <td>0.181818</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>10035</td>\n",
       "      <td>3</td>\n",
       "      <td>76</td>\n",
       "      <td>1.0</td>\n",
       "      <td>19</td>\n",
       "      <td>102</td>\n",
       "      <td>7.0.5</td>\n",
       "      <td>49dd36968dbfadda</td>\n",
       "      <td>OPPO R11</td>\n",
       "      <td>ecb58082e0e9b8e2</td>\n",
       "      <td>...</td>\n",
       "      <td>a8dc52f65085212e</td>\n",
       "      <td>97aeb123fafe5672</td>\n",
       "      <td>NaN</td>\n",
       "      <td>90a50ea267f6ef45</td>\n",
       "      <td>ws7g</td>\n",
       "      <td>77aa94e2b65e0d4e</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0</td>\n",
       "      <td>17</td>\n",
       "      <td>0.181818</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>10035</td>\n",
       "      <td>30</td>\n",
       "      <td>76</td>\n",
       "      <td>1.0</td>\n",
       "      <td>13</td>\n",
       "      <td>102</td>\n",
       "      <td>7.0.9</td>\n",
       "      <td>49dd36968dbfadda</td>\n",
       "      <td>OPPO R11</td>\n",
       "      <td>ecb58082e0e9b8e2</td>\n",
       "      <td>...</td>\n",
       "      <td>a8dc52f65085212e</td>\n",
       "      <td>830e4b02f0bc0e18</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>ws7e</td>\n",
       "      <td>e58e48fb9215116e</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0</td>\n",
       "      <td>16</td>\n",
       "      <td>0.227273</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>10035</td>\n",
       "      <td>10</td>\n",
       "      <td>76</td>\n",
       "      <td>1.0</td>\n",
       "      <td>14</td>\n",
       "      <td>102</td>\n",
       "      <td>7.0.5</td>\n",
       "      <td>49dd36968dbfadda</td>\n",
       "      <td>OPPO R11</td>\n",
       "      <td>ecb58082e0e9b8e2</td>\n",
       "      <td>...</td>\n",
       "      <td>a8dc52f65085212e</td>\n",
       "      <td>47f70286272f2f0d</td>\n",
       "      <td>NaN</td>\n",
       "      <td>90a50ea267f6ef45</td>\n",
       "      <td>ws7g</td>\n",
       "      <td>77aa94e2b65e0d4e</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0</td>\n",
       "      <td>17</td>\n",
       "      <td>0.181818</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>10035</td>\n",
       "      <td>23</td>\n",
       "      <td>76</td>\n",
       "      <td>1.0</td>\n",
       "      <td>21</td>\n",
       "      <td>102</td>\n",
       "      <td>7.0.9</td>\n",
       "      <td>49dd36968dbfadda</td>\n",
       "      <td>OPPO R11</td>\n",
       "      <td>ecb58082e0e9b8e2</td>\n",
       "      <td>...</td>\n",
       "      <td>a8dc52f65085212e</td>\n",
       "      <td>1ca60c14d6ae442b</td>\n",
       "      <td>NaN</td>\n",
       "      <td>90a50ea267f6ef45</td>\n",
       "      <td>ws7g</td>\n",
       "      <td>77aa94e2b65e0d4e</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0</td>\n",
       "      <td>17</td>\n",
       "      <td>0.181818</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>10035</td>\n",
       "      <td>10</td>\n",
       "      <td>76</td>\n",
       "      <td>1.0</td>\n",
       "      <td>14</td>\n",
       "      <td>102</td>\n",
       "      <td>7.0.5</td>\n",
       "      <td>49dd36968dbfadda</td>\n",
       "      <td>OPPO R11</td>\n",
       "      <td>ecb58082e0e9b8e2</td>\n",
       "      <td>...</td>\n",
       "      <td>a8dc52f65085212e</td>\n",
       "      <td>47f70286272f2f0d</td>\n",
       "      <td>NaN</td>\n",
       "      <td>90a50ea267f6ef45</td>\n",
       "      <td>ws7g</td>\n",
       "      <td>77aa94e2b65e0d4e</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0</td>\n",
       "      <td>17</td>\n",
       "      <td>0.181818</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>10 rows × 23 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "     UID day  mode  success time   os version           device1   device2  \\\n",
       "0  10035  30    76      1.0   17  102   7.0.9  49dd36968dbfadda  OPPO R11   \n",
       "1  10035  27    76      1.0   09  102   7.0.9  49dd36968dbfadda  OPPO R11   \n",
       "2  10035  27    76      1.0   09  102   7.0.9  49dd36968dbfadda  OPPO R11   \n",
       "3  10035   1    76      1.0   20  102   7.0.5  49dd36968dbfadda  OPPO R11   \n",
       "4  10035  26    76      1.0   12  102   7.0.9  49dd36968dbfadda  OPPO R11   \n",
       "5  10035   3    76      1.0   19  102   7.0.5  49dd36968dbfadda  OPPO R11   \n",
       "6  10035  30    76      1.0   13  102   7.0.9  49dd36968dbfadda  OPPO R11   \n",
       "7  10035  10    76      1.0   14  102   7.0.5  49dd36968dbfadda  OPPO R11   \n",
       "8  10035  23    76      1.0   21  102   7.0.9  49dd36968dbfadda  OPPO R11   \n",
       "9  10035  10    76      1.0   14  102   7.0.5  49dd36968dbfadda  OPPO R11   \n",
       "\n",
       "       device_code1      ...                    mac2               ip1  ip2  \\\n",
       "0  ecb58082e0e9b8e2      ...        a8dc52f65085212e  55dd8936655c86f6  NaN   \n",
       "1  ecb58082e0e9b8e2      ...        a8dc52f65085212e  afab1706b871ffab  NaN   \n",
       "2  ecb58082e0e9b8e2      ...        a8dc52f65085212e  afab1706b871ffab  NaN   \n",
       "3  ecb58082e0e9b8e2      ...        a8dc52f65085212e  97aeb123fafe5672  NaN   \n",
       "4  ecb58082e0e9b8e2      ...        a8dc52f65085212e  9c9d49eddb6a59c3  NaN   \n",
       "5  ecb58082e0e9b8e2      ...        a8dc52f65085212e  97aeb123fafe5672  NaN   \n",
       "6  ecb58082e0e9b8e2      ...        a8dc52f65085212e  830e4b02f0bc0e18  NaN   \n",
       "7  ecb58082e0e9b8e2      ...        a8dc52f65085212e  47f70286272f2f0d  NaN   \n",
       "8  ecb58082e0e9b8e2      ...        a8dc52f65085212e  1ca60c14d6ae442b  NaN   \n",
       "9  ecb58082e0e9b8e2      ...        a8dc52f65085212e  47f70286272f2f0d  NaN   \n",
       "\n",
       "               wifi geo_code           ip1_sub ip2_sub Tag data_effective_num  \\\n",
       "0               NaN     wskx  e58e48fb9215116e     NaN   0                 16   \n",
       "1  64adc604e1123cdd     ws7g  8ef6f3daeffdbe3d     NaN   0                 17   \n",
       "2  64adc604e1123cdd     ws7g  8ef6f3daeffdbe3d     NaN   0                 17   \n",
       "3  90a50ea267f6ef45     ws7g  77aa94e2b65e0d4e     NaN   0                 17   \n",
       "4  90a50ea267f6ef45     ws7g  77aa94e2b65e0d4e     NaN   0                 17   \n",
       "5  90a50ea267f6ef45     ws7g  77aa94e2b65e0d4e     NaN   0                 17   \n",
       "6               NaN     ws7e  e58e48fb9215116e     NaN   0                 16   \n",
       "7  90a50ea267f6ef45     ws7g  77aa94e2b65e0d4e     NaN   0                 17   \n",
       "8  90a50ea267f6ef45     ws7g  77aa94e2b65e0d4e     NaN   0                 17   \n",
       "9  90a50ea267f6ef45     ws7g  77aa94e2b65e0d4e     NaN   0                 17   \n",
       "\n",
       "  data_lose_rate  \n",
       "0       0.227273  \n",
       "1       0.181818  \n",
       "2       0.181818  \n",
       "3       0.181818  \n",
       "4       0.181818  \n",
       "5       0.181818  \n",
       "6       0.227273  \n",
       "7       0.181818  \n",
       "8       0.181818  \n",
       "9       0.181818  \n",
       "\n",
       "[10 rows x 23 columns]"
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 纵向用缺失值上面的值替换缺失值\n",
    "op_merge.fillna(axis=0,method='ffill')\n",
    "op_merge.head(10)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>version</th>\n",
       "      <th>UID</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0.0.2</td>\n",
       "      <td>9</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1.0.0</td>\n",
       "      <td>754</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1.1.0</td>\n",
       "      <td>61</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1.2.0</td>\n",
       "      <td>478</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1.3.0</td>\n",
       "      <td>227</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>3.8.7</td>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>3.9.3</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>4.1.7</td>\n",
       "      <td>10225</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>4.2.18.0522.r2</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>4.2.19.0702.r3</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>4.2.2</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>4.3.0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>5.1.1</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>5.1.9</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>5.3.2</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>5.8.11</td>\n",
       "      <td>46</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>5.8.15</td>\n",
       "      <td>137</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>5.8.18</td>\n",
       "      <td>41</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>5.8.19</td>\n",
       "      <td>21</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>5.8.20</td>\n",
       "      <td>63</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>5.8.21</td>\n",
       "      <td>2830</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>5.8.22</td>\n",
       "      <td>14</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>5.8.23</td>\n",
       "      <td>60</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>5.8.24</td>\n",
       "      <td>1554</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>5.8.6</td>\n",
       "      <td>11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>6.0.4</td>\n",
       "      <td>2244</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>6.0.5</td>\n",
       "      <td>2727</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>6.1.0</td>\n",
       "      <td>167</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>6.2.1</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>6.5.0</td>\n",
       "      <td>903</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>30</th>\n",
       "      <td>6.5.2</td>\n",
       "      <td>9</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>31</th>\n",
       "      <td>6.5.3</td>\n",
       "      <td>7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>32</th>\n",
       "      <td>6.5.4</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>33</th>\n",
       "      <td>6.5.5</td>\n",
       "      <td>11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>34</th>\n",
       "      <td>6.5.6</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>35</th>\n",
       "      <td>6.5.7</td>\n",
       "      <td>9</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>36</th>\n",
       "      <td>6.6.0</td>\n",
       "      <td>67</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>37</th>\n",
       "      <td>6.6.2</td>\n",
       "      <td>85823</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38</th>\n",
       "      <td>6.6.3</td>\n",
       "      <td>14523</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>39</th>\n",
       "      <td>7.0.0</td>\n",
       "      <td>37465</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>40</th>\n",
       "      <td>7.0.1</td>\n",
       "      <td>2983</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>41</th>\n",
       "      <td>7.0.2</td>\n",
       "      <td>147581</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>42</th>\n",
       "      <td>7.0.5</td>\n",
       "      <td>539499</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>43</th>\n",
       "      <td>7.0.6</td>\n",
       "      <td>105</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>44</th>\n",
       "      <td>7.0.7</td>\n",
       "      <td>266818</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>45</th>\n",
       "      <td>7.0.8</td>\n",
       "      <td>16</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>46</th>\n",
       "      <td>7.0.9</td>\n",
       "      <td>866685</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>47</th>\n",
       "      <td>7.1.0</td>\n",
       "      <td>774</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>48</th>\n",
       "      <td>7.1.1</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>49</th>\n",
       "      <td>7.1.2</td>\n",
       "      <td>30736</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50</th>\n",
       "      <td>7.1.3</td>\n",
       "      <td>620854</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "           version     UID\n",
       "0            0.0.2       9\n",
       "1            1.0.0     754\n",
       "2            1.1.0      61\n",
       "3            1.2.0     478\n",
       "4            1.3.0     227\n",
       "5            3.8.7       6\n",
       "6            3.9.3       2\n",
       "7            4.1.7   10225\n",
       "8   4.2.18.0522.r2       2\n",
       "9   4.2.19.0702.r3       1\n",
       "10           4.2.2       1\n",
       "11           4.3.0       1\n",
       "12           5.1.1       2\n",
       "13           5.1.9       1\n",
       "14           5.3.2       1\n",
       "15          5.8.11      46\n",
       "16          5.8.15     137\n",
       "17          5.8.18      41\n",
       "18          5.8.19      21\n",
       "19          5.8.20      63\n",
       "20          5.8.21    2830\n",
       "21          5.8.22      14\n",
       "22          5.8.23      60\n",
       "23          5.8.24    1554\n",
       "24           5.8.6      11\n",
       "25           6.0.4    2244\n",
       "26           6.0.5    2727\n",
       "27           6.1.0     167\n",
       "28           6.2.1       3\n",
       "29           6.5.0     903\n",
       "30           6.5.2       9\n",
       "31           6.5.3       7\n",
       "32           6.5.4       3\n",
       "33           6.5.5      11\n",
       "34           6.5.6       3\n",
       "35           6.5.7       9\n",
       "36           6.6.0      67\n",
       "37           6.6.2   85823\n",
       "38           6.6.3   14523\n",
       "39           7.0.0   37465\n",
       "40           7.0.1    2983\n",
       "41           7.0.2  147581\n",
       "42           7.0.5  539499\n",
       "43           7.0.6     105\n",
       "44           7.0.7  266818\n",
       "45           7.0.8      16\n",
       "46           7.0.9  866685\n",
       "47           7.1.0     774\n",
       "48           7.1.1       4\n",
       "49           7.1.2   30736\n",
       "50           7.1.3  620854"
      ]
     },
     "execution_count": 41,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ll = op_merge.groupby(op_hd.version)[op_hd.UID].count().reset_index()\n",
    "ll.UID.max()\n",
    "# ll.transform(max)\n",
    "# op_merge.groupby(op_hd.version).apply(lambda t: t[t.UID==t.UID.max()])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>version</th>\n",
       "      <th>UID</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>593325</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>9</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2</td>\n",
       "      <td>61</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>3</td>\n",
       "      <td>137</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>4</td>\n",
       "      <td>478</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>5</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>6</td>\n",
       "      <td>539499</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>7</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>8</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>9</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>10</td>\n",
       "      <td>67</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>11</td>\n",
       "      <td>167</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>12</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>13</td>\n",
       "      <td>620854</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>14</td>\n",
       "      <td>21</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>15</td>\n",
       "      <td>30736</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>16</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>17</td>\n",
       "      <td>7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>18</td>\n",
       "      <td>2830</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>19</td>\n",
       "      <td>266818</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>20</td>\n",
       "      <td>903</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>21</td>\n",
       "      <td>60</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>22</td>\n",
       "      <td>2727</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>23</td>\n",
       "      <td>46</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>24</td>\n",
       "      <td>10225</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>25</td>\n",
       "      <td>227</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>26</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>27</td>\n",
       "      <td>754</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>28</td>\n",
       "      <td>9</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>29</td>\n",
       "      <td>41</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>30</th>\n",
       "      <td>30</td>\n",
       "      <td>105</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>31</th>\n",
       "      <td>31</td>\n",
       "      <td>16</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>32</th>\n",
       "      <td>32</td>\n",
       "      <td>11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>33</th>\n",
       "      <td>33</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>34</th>\n",
       "      <td>34</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>35</th>\n",
       "      <td>35</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>36</th>\n",
       "      <td>36</td>\n",
       "      <td>2983</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>37</th>\n",
       "      <td>37</td>\n",
       "      <td>14523</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38</th>\n",
       "      <td>38</td>\n",
       "      <td>85823</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>39</th>\n",
       "      <td>39</td>\n",
       "      <td>37465</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>40</th>\n",
       "      <td>40</td>\n",
       "      <td>147581</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>41</th>\n",
       "      <td>41</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>42</th>\n",
       "      <td>42</td>\n",
       "      <td>774</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>43</th>\n",
       "      <td>43</td>\n",
       "      <td>9</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>44</th>\n",
       "      <td>44</td>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>45</th>\n",
       "      <td>45</td>\n",
       "      <td>2244</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>46</th>\n",
       "      <td>46</td>\n",
       "      <td>11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>47</th>\n",
       "      <td>47</td>\n",
       "      <td>1554</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>48</th>\n",
       "      <td>48</td>\n",
       "      <td>14</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>49</th>\n",
       "      <td>49</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50</th>\n",
       "      <td>50</td>\n",
       "      <td>866685</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>51</th>\n",
       "      <td>51</td>\n",
       "      <td>63</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    version     UID\n",
       "0         0  593325\n",
       "1         1       9\n",
       "2         2      61\n",
       "3         3     137\n",
       "4         4     478\n",
       "5         5       1\n",
       "6         6  539499\n",
       "7         7       3\n",
       "8         8       1\n",
       "9         9       2\n",
       "10       10      67\n",
       "11       11     167\n",
       "12       12       2\n",
       "13       13  620854\n",
       "14       14      21\n",
       "15       15   30736\n",
       "16       16       3\n",
       "17       17       7\n",
       "18       18    2830\n",
       "19       19  266818\n",
       "20       20     903\n",
       "21       21      60\n",
       "22       22    2727\n",
       "23       23      46\n",
       "24       24   10225\n",
       "25       25     227\n",
       "26       26       1\n",
       "27       27     754\n",
       "28       28       9\n",
       "29       29      41\n",
       "30       30     105\n",
       "31       31      16\n",
       "32       32      11\n",
       "33       33       3\n",
       "34       34       1\n",
       "35       35       4\n",
       "36       36    2983\n",
       "37       37   14523\n",
       "38       38   85823\n",
       "39       39   37465\n",
       "40       40  147581\n",
       "41       41       2\n",
       "42       42     774\n",
       "43       43       9\n",
       "44       44       6\n",
       "45       45    2244\n",
       "46       46      11\n",
       "47       47    1554\n",
       "48       48      14\n",
       "49       49       1\n",
       "50       50  866685\n",
       "51       51      63"
      ]
     },
     "execution_count": 52,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "op_merge[op_hd.version].fillna('7.0.9')  \n",
    "fs = set(op_merge[op_hd.version])\n",
    "filed2encode = dict(\n",
    "    zip(list(fs), range(0, len(fs))))\n",
    "op_merge[op_hd.version] = op_merge[op_hd.version].map(filed2encode)\n",
    "op_merge = filed2encode_f(op_merge, op_hd.version)\n",
    "op_merge.groupby(op_hd.version)[op_hd.UID].count().reset_index()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "op_merge.groupby(op_hd.version)[op_hd.UID].count().reset_index()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "123\n"
     ]
    }
   ],
   "source": [
    "def filed2encode_f(df, filed):\n",
    "    \"\"\"\n",
    "    # 原始数据的标签映射\n",
    "    :return:\n",
    "    \"\"\"\n",
    "    fs = set(df[filed])\n",
    "    filed2encode = dict(\n",
    "        zip(list(fs), range(0, len(fs))))\n",
    "    df[filed] = df[filed].map(filed2encode)\n",
    "    return df\n",
    "print(123)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>device2</th>\n",
       "      <th>UID</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>929219</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>12</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2</td>\n",
       "      <td>3850</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>3</td>\n",
       "      <td>276</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>4</td>\n",
       "      <td>9</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>5</td>\n",
       "      <td>114</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>6</td>\n",
       "      <td>19</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>7</td>\n",
       "      <td>173</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>8</td>\n",
       "      <td>146</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>9</td>\n",
       "      <td>405</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>10</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>11</td>\n",
       "      <td>14</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>12</td>\n",
       "      <td>5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>13</td>\n",
       "      <td>17</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>14</td>\n",
       "      <td>2181</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>15</td>\n",
       "      <td>273</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>16</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>17</td>\n",
       "      <td>11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>18</td>\n",
       "      <td>1485</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>19</td>\n",
       "      <td>5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>20</td>\n",
       "      <td>600</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>21</td>\n",
       "      <td>550</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>22</td>\n",
       "      <td>16</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>23</td>\n",
       "      <td>8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>24</td>\n",
       "      <td>11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>25</td>\n",
       "      <td>63</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>26</td>\n",
       "      <td>61</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>27</td>\n",
       "      <td>232</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>28</td>\n",
       "      <td>1580</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>29</td>\n",
       "      <td>481</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2093</th>\n",
       "      <td>2093</td>\n",
       "      <td>5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2094</th>\n",
       "      <td>2094</td>\n",
       "      <td>543</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2095</th>\n",
       "      <td>2095</td>\n",
       "      <td>4196</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2096</th>\n",
       "      <td>2096</td>\n",
       "      <td>805</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2097</th>\n",
       "      <td>2097</td>\n",
       "      <td>13</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2098</th>\n",
       "      <td>2098</td>\n",
       "      <td>16</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2099</th>\n",
       "      <td>2099</td>\n",
       "      <td>10</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2100</th>\n",
       "      <td>2100</td>\n",
       "      <td>19</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2101</th>\n",
       "      <td>2101</td>\n",
       "      <td>1673</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2102</th>\n",
       "      <td>2102</td>\n",
       "      <td>49039</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2103</th>\n",
       "      <td>2103</td>\n",
       "      <td>9</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2104</th>\n",
       "      <td>2104</td>\n",
       "      <td>36</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2105</th>\n",
       "      <td>2105</td>\n",
       "      <td>183</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2106</th>\n",
       "      <td>2106</td>\n",
       "      <td>88</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2107</th>\n",
       "      <td>2107</td>\n",
       "      <td>15</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2108</th>\n",
       "      <td>2108</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2109</th>\n",
       "      <td>2109</td>\n",
       "      <td>15</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2110</th>\n",
       "      <td>2110</td>\n",
       "      <td>692</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2111</th>\n",
       "      <td>2111</td>\n",
       "      <td>87</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2112</th>\n",
       "      <td>2112</td>\n",
       "      <td>79</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2113</th>\n",
       "      <td>2113</td>\n",
       "      <td>36</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2114</th>\n",
       "      <td>2114</td>\n",
       "      <td>61</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2115</th>\n",
       "      <td>2115</td>\n",
       "      <td>20</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2116</th>\n",
       "      <td>2116</td>\n",
       "      <td>41</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2117</th>\n",
       "      <td>2117</td>\n",
       "      <td>39</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2118</th>\n",
       "      <td>2118</td>\n",
       "      <td>64</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2119</th>\n",
       "      <td>2119</td>\n",
       "      <td>133</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2120</th>\n",
       "      <td>2120</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2121</th>\n",
       "      <td>2121</td>\n",
       "      <td>59</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2122</th>\n",
       "      <td>2122</td>\n",
       "      <td>8</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>2123 rows × 2 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "      device2     UID\n",
       "0           0  929219\n",
       "1           1      12\n",
       "2           2    3850\n",
       "3           3     276\n",
       "4           4       9\n",
       "5           5     114\n",
       "6           6      19\n",
       "7           7     173\n",
       "8           8     146\n",
       "9           9     405\n",
       "10         10       3\n",
       "11         11      14\n",
       "12         12       5\n",
       "13         13      17\n",
       "14         14    2181\n",
       "15         15     273\n",
       "16         16       3\n",
       "17         17      11\n",
       "18         18    1485\n",
       "19         19       5\n",
       "20         20     600\n",
       "21         21     550\n",
       "22         22      16\n",
       "23         23       8\n",
       "24         24      11\n",
       "25         25      63\n",
       "26         26      61\n",
       "27         27     232\n",
       "28         28    1580\n",
       "29         29     481\n",
       "...       ...     ...\n",
       "2093     2093       5\n",
       "2094     2094     543\n",
       "2095     2095    4196\n",
       "2096     2096     805\n",
       "2097     2097      13\n",
       "2098     2098      16\n",
       "2099     2099      10\n",
       "2100     2100      19\n",
       "2101     2101    1673\n",
       "2102     2102   49039\n",
       "2103     2103       9\n",
       "2104     2104      36\n",
       "2105     2105     183\n",
       "2106     2106      88\n",
       "2107     2107      15\n",
       "2108     2108       3\n",
       "2109     2109      15\n",
       "2110     2110     692\n",
       "2111     2111      87\n",
       "2112     2112      79\n",
       "2113     2113      36\n",
       "2114     2114      61\n",
       "2115     2115      20\n",
       "2116     2116      41\n",
       "2117     2117      39\n",
       "2118     2118      64\n",
       "2119     2119     133\n",
       "2120     2120       4\n",
       "2121     2121      59\n",
       "2122     2122       8\n",
       "\n",
       "[2123 rows x 2 columns]"
      ]
     },
     "execution_count": 61,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 操作设备参数1\n",
    "# op_merge = filed2encode_f(op_merge, op_hd.device1)\n",
    "# op_merge = filed2encode_f(op_merge, op_hd.device2)\n",
    "op_merge.groupby(op_hd.device2)[op_hd.UID].count().reset_index()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 64,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>device_code1</th>\n",
       "      <th>UID</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>1004686</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>38</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2</td>\n",
       "      <td>7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>3</td>\n",
       "      <td>360</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>4</td>\n",
       "      <td>53</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>5</td>\n",
       "      <td>12</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>6</td>\n",
       "      <td>90</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>7</td>\n",
       "      <td>5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>8</td>\n",
       "      <td>12</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>9</td>\n",
       "      <td>26</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>10</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>11</td>\n",
       "      <td>11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>12</td>\n",
       "      <td>23</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>13</td>\n",
       "      <td>32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>14</td>\n",
       "      <td>9</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>15</td>\n",
       "      <td>11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>16</td>\n",
       "      <td>28</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>17</td>\n",
       "      <td>25</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>18</td>\n",
       "      <td>24</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>19</td>\n",
       "      <td>185</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>20</td>\n",
       "      <td>19</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>21</td>\n",
       "      <td>40</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>22</td>\n",
       "      <td>19</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>23</td>\n",
       "      <td>406</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>24</td>\n",
       "      <td>21</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>25</td>\n",
       "      <td>11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>26</td>\n",
       "      <td>40</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>27</td>\n",
       "      <td>73</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>28</td>\n",
       "      <td>45</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>29</td>\n",
       "      <td>24</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>49782</th>\n",
       "      <td>49782</td>\n",
       "      <td>83</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>49783</th>\n",
       "      <td>49783</td>\n",
       "      <td>9</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>49784</th>\n",
       "      <td>49784</td>\n",
       "      <td>107</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>49785</th>\n",
       "      <td>49785</td>\n",
       "      <td>10</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>49786</th>\n",
       "      <td>49786</td>\n",
       "      <td>15</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>49787</th>\n",
       "      <td>49787</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>49788</th>\n",
       "      <td>49788</td>\n",
       "      <td>61</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>49789</th>\n",
       "      <td>49789</td>\n",
       "      <td>10</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>49790</th>\n",
       "      <td>49790</td>\n",
       "      <td>9</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>49791</th>\n",
       "      <td>49791</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>49792</th>\n",
       "      <td>49792</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>49793</th>\n",
       "      <td>49793</td>\n",
       "      <td>31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>49794</th>\n",
       "      <td>49794</td>\n",
       "      <td>32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>49795</th>\n",
       "      <td>49795</td>\n",
       "      <td>22</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>49796</th>\n",
       "      <td>49796</td>\n",
       "      <td>88</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>49797</th>\n",
       "      <td>49797</td>\n",
       "      <td>17</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>49798</th>\n",
       "      <td>49798</td>\n",
       "      <td>69</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>49799</th>\n",
       "      <td>49799</td>\n",
       "      <td>89</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>49800</th>\n",
       "      <td>49800</td>\n",
       "      <td>30</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>49801</th>\n",
       "      <td>49801</td>\n",
       "      <td>23</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>49802</th>\n",
       "      <td>49802</td>\n",
       "      <td>7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>49803</th>\n",
       "      <td>49803</td>\n",
       "      <td>109</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>49804</th>\n",
       "      <td>49804</td>\n",
       "      <td>80</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>49805</th>\n",
       "      <td>49805</td>\n",
       "      <td>43</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>49806</th>\n",
       "      <td>49806</td>\n",
       "      <td>237</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>49807</th>\n",
       "      <td>49807</td>\n",
       "      <td>30</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>49808</th>\n",
       "      <td>49808</td>\n",
       "      <td>23</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>49809</th>\n",
       "      <td>49809</td>\n",
       "      <td>33</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>49810</th>\n",
       "      <td>49810</td>\n",
       "      <td>7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>49811</th>\n",
       "      <td>49811</td>\n",
       "      <td>20</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>49812 rows × 2 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "       device_code1      UID\n",
       "0                 0  1004686\n",
       "1                 1       38\n",
       "2                 2        7\n",
       "3                 3      360\n",
       "4                 4       53\n",
       "5                 5       12\n",
       "6                 6       90\n",
       "7                 7        5\n",
       "8                 8       12\n",
       "9                 9       26\n",
       "10               10        4\n",
       "11               11       11\n",
       "12               12       23\n",
       "13               13       32\n",
       "14               14        9\n",
       "15               15       11\n",
       "16               16       28\n",
       "17               17       25\n",
       "18               18       24\n",
       "19               19      185\n",
       "20               20       19\n",
       "21               21       40\n",
       "22               22       19\n",
       "23               23      406\n",
       "24               24       21\n",
       "25               25       11\n",
       "26               26       40\n",
       "27               27       73\n",
       "28               28       45\n",
       "29               29       24\n",
       "...             ...      ...\n",
       "49782         49782       83\n",
       "49783         49783        9\n",
       "49784         49784      107\n",
       "49785         49785       10\n",
       "49786         49786       15\n",
       "49787         49787        2\n",
       "49788         49788       61\n",
       "49789         49789       10\n",
       "49790         49790        9\n",
       "49791         49791        2\n",
       "49792         49792        3\n",
       "49793         49793       31\n",
       "49794         49794       32\n",
       "49795         49795       22\n",
       "49796         49796       88\n",
       "49797         49797       17\n",
       "49798         49798       69\n",
       "49799         49799       89\n",
       "49800         49800       30\n",
       "49801         49801       23\n",
       "49802         49802        7\n",
       "49803         49803      109\n",
       "49804         49804       80\n",
       "49805         49805       43\n",
       "49806         49806      237\n",
       "49807         49807       30\n",
       "49808         49808       23\n",
       "49809         49809       33\n",
       "49810         49810        7\n",
       "49811         49811       20\n",
       "\n",
       "[49812 rows x 2 columns]"
      ]
     },
     "execution_count": 64,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 设备操作唯一标识\n",
    "op_merge = filed2encode_f(op_merge, op_hd.device_code1)\n",
    "op_merge = filed2encode_f(op_merge, op_hd.device_code2)\n",
    "op_merge.groupby(op_hd.device_code1)[op_hd.UID].count().reset_index()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 70,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "op_merge = filed2encode_f(op_merge, op_hd.device_code3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 65,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>mac1</th>\n",
       "      <th>UID</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>2894113</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>73</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2</td>\n",
       "      <td>7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>4</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>5</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>6</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>7</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>8</td>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>9</td>\n",
       "      <td>7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>10</td>\n",
       "      <td>9</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>11</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>12</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>13</td>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>14</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>15</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>16</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>17</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>18</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>19</td>\n",
       "      <td>36</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>20</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>21</td>\n",
       "      <td>8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>22</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>23</td>\n",
       "      <td>14</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>24</td>\n",
       "      <td>7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>25</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>26</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>27</td>\n",
       "      <td>20</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>28</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>29</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23140</th>\n",
       "      <td>23140</td>\n",
       "      <td>23</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23141</th>\n",
       "      <td>23141</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23142</th>\n",
       "      <td>23142</td>\n",
       "      <td>128</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23143</th>\n",
       "      <td>23143</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23144</th>\n",
       "      <td>23144</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23145</th>\n",
       "      <td>23145</td>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23146</th>\n",
       "      <td>23146</td>\n",
       "      <td>8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23147</th>\n",
       "      <td>23147</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23148</th>\n",
       "      <td>23148</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23149</th>\n",
       "      <td>23149</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23150</th>\n",
       "      <td>23150</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23151</th>\n",
       "      <td>23151</td>\n",
       "      <td>5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23152</th>\n",
       "      <td>23152</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23153</th>\n",
       "      <td>23153</td>\n",
       "      <td>19</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23154</th>\n",
       "      <td>23154</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23155</th>\n",
       "      <td>23155</td>\n",
       "      <td>5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23156</th>\n",
       "      <td>23156</td>\n",
       "      <td>5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23157</th>\n",
       "      <td>23157</td>\n",
       "      <td>17</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23158</th>\n",
       "      <td>23158</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23159</th>\n",
       "      <td>23159</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23160</th>\n",
       "      <td>23160</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23161</th>\n",
       "      <td>23161</td>\n",
       "      <td>37</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23162</th>\n",
       "      <td>23162</td>\n",
       "      <td>17</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23163</th>\n",
       "      <td>23163</td>\n",
       "      <td>9</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23164</th>\n",
       "      <td>23164</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23165</th>\n",
       "      <td>23165</td>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23166</th>\n",
       "      <td>23166</td>\n",
       "      <td>13</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23167</th>\n",
       "      <td>23167</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23168</th>\n",
       "      <td>23168</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23169</th>\n",
       "      <td>23169</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>23170 rows × 2 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "        mac1      UID\n",
       "0          0  2894113\n",
       "1          1       73\n",
       "2          2        7\n",
       "3          3        1\n",
       "4          4        3\n",
       "5          5        4\n",
       "6          6        3\n",
       "7          7        1\n",
       "8          8        6\n",
       "9          9        7\n",
       "10        10        9\n",
       "11        11        1\n",
       "12        12        1\n",
       "13        13        6\n",
       "14        14        4\n",
       "15        15        2\n",
       "16        16        1\n",
       "17        17        4\n",
       "18        18        4\n",
       "19        19       36\n",
       "20        20        4\n",
       "21        21        8\n",
       "22        22        1\n",
       "23        23       14\n",
       "24        24        7\n",
       "25        25        2\n",
       "26        26        2\n",
       "27        27       20\n",
       "28        28        4\n",
       "29        29        2\n",
       "...      ...      ...\n",
       "23140  23140       23\n",
       "23141  23141        1\n",
       "23142  23142      128\n",
       "23143  23143        2\n",
       "23144  23144        4\n",
       "23145  23145        6\n",
       "23146  23146        8\n",
       "23147  23147        3\n",
       "23148  23148        2\n",
       "23149  23149        4\n",
       "23150  23150        1\n",
       "23151  23151        5\n",
       "23152  23152        2\n",
       "23153  23153       19\n",
       "23154  23154        4\n",
       "23155  23155        5\n",
       "23156  23156        5\n",
       "23157  23157       17\n",
       "23158  23158        1\n",
       "23159  23159        3\n",
       "23160  23160        1\n",
       "23161  23161       37\n",
       "23162  23162       17\n",
       "23163  23163        9\n",
       "23164  23164        2\n",
       "23165  23165        6\n",
       "23166  23166       13\n",
       "23167  23167        1\n",
       "23168  23168        1\n",
       "23169  23169        3\n",
       "\n",
       "[23170 rows x 2 columns]"
      ]
     },
     "execution_count": 65,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# mac地址\n",
    "op_merge = filed2encode_f(op_merge, op_hd.mac1)\n",
    "op_merge = filed2encode_f(op_merge, op_hd.mac2)\n",
    "op_merge.groupby(op_hd.mac1)[op_hd.UID].count().reset_index()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 69,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>ip1_sub</th>\n",
       "      <th>UID</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>615619</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>58</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2</td>\n",
       "      <td>12</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>3</td>\n",
       "      <td>39</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>4</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>5</td>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>6</td>\n",
       "      <td>38</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>7</td>\n",
       "      <td>41</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>8</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>9</td>\n",
       "      <td>36</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>10</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>11</td>\n",
       "      <td>10</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>12</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>13</td>\n",
       "      <td>8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>14</td>\n",
       "      <td>5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>15</td>\n",
       "      <td>11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>16</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>17</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>18</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>19</td>\n",
       "      <td>34</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>20</td>\n",
       "      <td>8047</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>21</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>22</td>\n",
       "      <td>21</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>23</td>\n",
       "      <td>35</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>24</td>\n",
       "      <td>48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>25</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>26</td>\n",
       "      <td>7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>27</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>28</td>\n",
       "      <td>18</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>29</td>\n",
       "      <td>16</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>69151</th>\n",
       "      <td>69151</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>69152</th>\n",
       "      <td>69152</td>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>69153</th>\n",
       "      <td>69153</td>\n",
       "      <td>40</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>69154</th>\n",
       "      <td>69154</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>69155</th>\n",
       "      <td>69155</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>69156</th>\n",
       "      <td>69156</td>\n",
       "      <td>16</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>69157</th>\n",
       "      <td>69157</td>\n",
       "      <td>18</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>69158</th>\n",
       "      <td>69158</td>\n",
       "      <td>10</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>69159</th>\n",
       "      <td>69159</td>\n",
       "      <td>15</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>69160</th>\n",
       "      <td>69160</td>\n",
       "      <td>22</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>69161</th>\n",
       "      <td>69161</td>\n",
       "      <td>8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>69162</th>\n",
       "      <td>69162</td>\n",
       "      <td>5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>69163</th>\n",
       "      <td>69163</td>\n",
       "      <td>8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>69164</th>\n",
       "      <td>69164</td>\n",
       "      <td>8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>69165</th>\n",
       "      <td>69165</td>\n",
       "      <td>53</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>69166</th>\n",
       "      <td>69166</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>69167</th>\n",
       "      <td>69167</td>\n",
       "      <td>17</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>69168</th>\n",
       "      <td>69168</td>\n",
       "      <td>8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>69169</th>\n",
       "      <td>69169</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>69170</th>\n",
       "      <td>69170</td>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>69171</th>\n",
       "      <td>69171</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>69172</th>\n",
       "      <td>69172</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>69173</th>\n",
       "      <td>69173</td>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>69174</th>\n",
       "      <td>69174</td>\n",
       "      <td>178</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>69175</th>\n",
       "      <td>69175</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>69176</th>\n",
       "      <td>69176</td>\n",
       "      <td>588</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>69177</th>\n",
       "      <td>69177</td>\n",
       "      <td>5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>69178</th>\n",
       "      <td>69178</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>69179</th>\n",
       "      <td>69179</td>\n",
       "      <td>10</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>69180</th>\n",
       "      <td>69180</td>\n",
       "      <td>83</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>69181 rows × 2 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "       ip1_sub     UID\n",
       "0            0  615619\n",
       "1            1      58\n",
       "2            2      12\n",
       "3            3      39\n",
       "4            4       2\n",
       "5            5       6\n",
       "6            6      38\n",
       "7            7      41\n",
       "8            8       4\n",
       "9            9      36\n",
       "10          10       2\n",
       "11          11      10\n",
       "12          12       1\n",
       "13          13       8\n",
       "14          14       5\n",
       "15          15      11\n",
       "16          16       3\n",
       "17          17       3\n",
       "18          18       1\n",
       "19          19      34\n",
       "20          20    8047\n",
       "21          21       4\n",
       "22          22      21\n",
       "23          23      35\n",
       "24          24      48\n",
       "25          25       2\n",
       "26          26       7\n",
       "27          27       1\n",
       "28          28      18\n",
       "29          29      16\n",
       "...        ...     ...\n",
       "69151    69151       4\n",
       "69152    69152       6\n",
       "69153    69153      40\n",
       "69154    69154       3\n",
       "69155    69155       2\n",
       "69156    69156      16\n",
       "69157    69157      18\n",
       "69158    69158      10\n",
       "69159    69159      15\n",
       "69160    69160      22\n",
       "69161    69161       8\n",
       "69162    69162       5\n",
       "69163    69163       8\n",
       "69164    69164       8\n",
       "69165    69165      53\n",
       "69166    69166       4\n",
       "69167    69167      17\n",
       "69168    69168       8\n",
       "69169    69169       2\n",
       "69170    69170       6\n",
       "69171    69171       3\n",
       "69172    69172       1\n",
       "69173    69173       6\n",
       "69174    69174     178\n",
       "69175    69175       4\n",
       "69176    69176     588\n",
       "69177    69177       5\n",
       "69178    69178       2\n",
       "69179    69179      10\n",
       "69180    69180      83\n",
       "\n",
       "[69181 rows x 2 columns]"
      ]
     },
     "execution_count": 69,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "op_merge = filed2encode_f(op_merge, op_hd.ip1)\n",
    "op_merge = filed2encode_f(op_merge, op_hd.ip2)\n",
    "op_merge = filed2encode_f(op_merge, op_hd.ip1_sub)\n",
    "op_merge = filed2encode_f(op_merge, op_hd.ip2_sub)\n",
    "op_merge.groupby(op_hd.ip1_sub)[op_hd.UID].count().reset_index()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 71,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>wifi</th>\n",
       "      <th>UID</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>00012a6a0f6a60a8</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>00012de8e213edf2</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0001511dcfb6c865</td>\n",
       "      <td>5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>000211e621cd1f97</td>\n",
       "      <td>56</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0003003b77aa212a</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>00032cad7bb00798</td>\n",
       "      <td>7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>00047d14c1cae6d0</td>\n",
       "      <td>22</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>0004c4acbfa8e28f</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>00066dc66540d724</td>\n",
       "      <td>9</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>0007a949d4c0772b</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>00081d287a2de3ab</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>0008498c539140f4</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>00087fa9546003cb</td>\n",
       "      <td>19</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>00090098b49dab2c</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>0009d19783d8c6bb</td>\n",
       "      <td>44</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>00106b63fc996772</td>\n",
       "      <td>7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>001183cd0049e0a3</td>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>001295d2dc49dc5d</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>0012f8548ac61eaf</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>0013e34174a1c4b9</td>\n",
       "      <td>14</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>001434de69c890b5</td>\n",
       "      <td>11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>0014adf168de352e</td>\n",
       "      <td>68</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>0014c08f7eb95b7d</td>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>0014c118eeaa8ecc</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>00155a10652a30c7</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>0015aa7faf0a510a</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>00168482445631fc</td>\n",
       "      <td>5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>00183a5e32e9b430</td>\n",
       "      <td>88</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>001958831f177889</td>\n",
       "      <td>9</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>001992d3a3b2477c</td>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>56472</th>\n",
       "      <td>ffd48868e48f5ee0</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>56473</th>\n",
       "      <td>ffd5169d550012a6</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>56474</th>\n",
       "      <td>ffd5f7943aadfcba</td>\n",
       "      <td>5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>56475</th>\n",
       "      <td>ffd6a5258d95a7f9</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>56476</th>\n",
       "      <td>ffd6ec951548a4f8</td>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>56477</th>\n",
       "      <td>ffd7dc4de025f42b</td>\n",
       "      <td>5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>56478</th>\n",
       "      <td>ffd8d84f5c825e54</td>\n",
       "      <td>10</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>56479</th>\n",
       "      <td>ffdafaaee23bab7e</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>56480</th>\n",
       "      <td>ffdd8c809eae9566</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>56481</th>\n",
       "      <td>ffde085eebe0e2ee</td>\n",
       "      <td>17</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>56482</th>\n",
       "      <td>ffdf037a633b2b95</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>56483</th>\n",
       "      <td>ffe6874043dbd83f</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>56484</th>\n",
       "      <td>ffe7954c39bee8c3</td>\n",
       "      <td>26</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>56485</th>\n",
       "      <td>ffe828056184cd4a</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>56486</th>\n",
       "      <td>ffea5ff1ff586c8d</td>\n",
       "      <td>11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>56487</th>\n",
       "      <td>ffebb716cf09d06b</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>56488</th>\n",
       "      <td>ffec90236da17426</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>56489</th>\n",
       "      <td>ffecd830adea41eb</td>\n",
       "      <td>36</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>56490</th>\n",
       "      <td>ffedd3a7fcd0a281</td>\n",
       "      <td>38</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>56491</th>\n",
       "      <td>ffee1632706b3426</td>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>56492</th>\n",
       "      <td>fff1e10ad250ebfb</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>56493</th>\n",
       "      <td>fff20a086942ba32</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>56494</th>\n",
       "      <td>fff3af239d5f8e6b</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>56495</th>\n",
       "      <td>fff67a3f8d21e1de</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>56496</th>\n",
       "      <td>fff68ab7a9cb58d0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>56497</th>\n",
       "      <td>fff7ca1a8628d0fe</td>\n",
       "      <td>26</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>56498</th>\n",
       "      <td>fffc6448328c3de2</td>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>56499</th>\n",
       "      <td>fffca0986c587c73</td>\n",
       "      <td>151</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>56500</th>\n",
       "      <td>fffcbb64e8a5e1e3</td>\n",
       "      <td>23</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>56501</th>\n",
       "      <td>ffffd4ecc5486c80</td>\n",
       "      <td>9</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>56502 rows × 2 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                   wifi  UID\n",
       "0      00012a6a0f6a60a8    3\n",
       "1      00012de8e213edf2    2\n",
       "2      0001511dcfb6c865    5\n",
       "3      000211e621cd1f97   56\n",
       "4      0003003b77aa212a    2\n",
       "5      00032cad7bb00798    7\n",
       "6      00047d14c1cae6d0   22\n",
       "7      0004c4acbfa8e28f    1\n",
       "8      00066dc66540d724    9\n",
       "9      0007a949d4c0772b    3\n",
       "10     00081d287a2de3ab    3\n",
       "11     0008498c539140f4    3\n",
       "12     00087fa9546003cb   19\n",
       "13     00090098b49dab2c    1\n",
       "14     0009d19783d8c6bb   44\n",
       "15     00106b63fc996772    7\n",
       "16     001183cd0049e0a3    6\n",
       "17     001295d2dc49dc5d    4\n",
       "18     0012f8548ac61eaf    3\n",
       "19     0013e34174a1c4b9   14\n",
       "20     001434de69c890b5   11\n",
       "21     0014adf168de352e   68\n",
       "22     0014c08f7eb95b7d    6\n",
       "23     0014c118eeaa8ecc    4\n",
       "24     00155a10652a30c7    3\n",
       "25     0015aa7faf0a510a    3\n",
       "26     00168482445631fc    5\n",
       "27     00183a5e32e9b430   88\n",
       "28     001958831f177889    9\n",
       "29     001992d3a3b2477c    6\n",
       "...                 ...  ...\n",
       "56472  ffd48868e48f5ee0    4\n",
       "56473  ffd5169d550012a6    2\n",
       "56474  ffd5f7943aadfcba    5\n",
       "56475  ffd6a5258d95a7f9    2\n",
       "56476  ffd6ec951548a4f8    6\n",
       "56477  ffd7dc4de025f42b    5\n",
       "56478  ffd8d84f5c825e54   10\n",
       "56479  ffdafaaee23bab7e    2\n",
       "56480  ffdd8c809eae9566    2\n",
       "56481  ffde085eebe0e2ee   17\n",
       "56482  ffdf037a633b2b95    3\n",
       "56483  ffe6874043dbd83f    4\n",
       "56484  ffe7954c39bee8c3   26\n",
       "56485  ffe828056184cd4a    3\n",
       "56486  ffea5ff1ff586c8d   11\n",
       "56487  ffebb716cf09d06b    4\n",
       "56488  ffec90236da17426    4\n",
       "56489  ffecd830adea41eb   36\n",
       "56490  ffedd3a7fcd0a281   38\n",
       "56491  ffee1632706b3426    6\n",
       "56492  fff1e10ad250ebfb    4\n",
       "56493  fff20a086942ba32    2\n",
       "56494  fff3af239d5f8e6b    2\n",
       "56495  fff67a3f8d21e1de    3\n",
       "56496  fff68ab7a9cb58d0    2\n",
       "56497  fff7ca1a8628d0fe   26\n",
       "56498  fffc6448328c3de2    6\n",
       "56499  fffca0986c587c73  151\n",
       "56500  fffcbb64e8a5e1e3   23\n",
       "56501  ffffd4ecc5486c80    9\n",
       "\n",
       "[56502 rows x 2 columns]"
      ]
     },
     "execution_count": 71,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "op_merge.groupby(op_hd.wifi)[op_hd.UID].count().reset_index()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 72,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>wifi</th>\n",
       "      <th>UID</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>2249163</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2</td>\n",
       "      <td>14</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>3</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>4</td>\n",
       "      <td>5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>5</td>\n",
       "      <td>167</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>6</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>7</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>8</td>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>9</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>10</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>11</td>\n",
       "      <td>83</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>12</td>\n",
       "      <td>17</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>13</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>14</td>\n",
       "      <td>16</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>15</td>\n",
       "      <td>9</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>16</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>17</td>\n",
       "      <td>17</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>18</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>19</td>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>20</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>21</td>\n",
       "      <td>7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>22</td>\n",
       "      <td>19</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>23</td>\n",
       "      <td>14</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>24</td>\n",
       "      <td>35</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>25</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>26</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>27</td>\n",
       "      <td>28</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>28</td>\n",
       "      <td>11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>29</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>56473</th>\n",
       "      <td>56473</td>\n",
       "      <td>5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>56474</th>\n",
       "      <td>56474</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>56475</th>\n",
       "      <td>56475</td>\n",
       "      <td>10</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>56476</th>\n",
       "      <td>56476</td>\n",
       "      <td>29</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>56477</th>\n",
       "      <td>56477</td>\n",
       "      <td>10</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>56478</th>\n",
       "      <td>56478</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>56479</th>\n",
       "      <td>56479</td>\n",
       "      <td>16</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>56480</th>\n",
       "      <td>56480</td>\n",
       "      <td>107</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>56481</th>\n",
       "      <td>56481</td>\n",
       "      <td>7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>56482</th>\n",
       "      <td>56482</td>\n",
       "      <td>55</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>56483</th>\n",
       "      <td>56483</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>56484</th>\n",
       "      <td>56484</td>\n",
       "      <td>8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>56485</th>\n",
       "      <td>56485</td>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>56486</th>\n",
       "      <td>56486</td>\n",
       "      <td>12</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>56487</th>\n",
       "      <td>56487</td>\n",
       "      <td>7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>56488</th>\n",
       "      <td>56488</td>\n",
       "      <td>20</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>56489</th>\n",
       "      <td>56489</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>56490</th>\n",
       "      <td>56490</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>56491</th>\n",
       "      <td>56491</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>56492</th>\n",
       "      <td>56492</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>56493</th>\n",
       "      <td>56493</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>56494</th>\n",
       "      <td>56494</td>\n",
       "      <td>18</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>56495</th>\n",
       "      <td>56495</td>\n",
       "      <td>5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>56496</th>\n",
       "      <td>56496</td>\n",
       "      <td>11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>56497</th>\n",
       "      <td>56497</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>56498</th>\n",
       "      <td>56498</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>56499</th>\n",
       "      <td>56499</td>\n",
       "      <td>16</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>56500</th>\n",
       "      <td>56500</td>\n",
       "      <td>12</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>56501</th>\n",
       "      <td>56501</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>56502</th>\n",
       "      <td>56502</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>56503 rows × 2 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "        wifi      UID\n",
       "0          0  2249163\n",
       "1          1        1\n",
       "2          2       14\n",
       "3          3        4\n",
       "4          4        5\n",
       "5          5      167\n",
       "6          6        4\n",
       "7          7        3\n",
       "8          8        6\n",
       "9          9        4\n",
       "10        10        2\n",
       "11        11       83\n",
       "12        12       17\n",
       "13        13        4\n",
       "14        14       16\n",
       "15        15        9\n",
       "16        16        3\n",
       "17        17       17\n",
       "18        18        1\n",
       "19        19        6\n",
       "20        20        4\n",
       "21        21        7\n",
       "22        22       19\n",
       "23        23       14\n",
       "24        24       35\n",
       "25        25        2\n",
       "26        26        3\n",
       "27        27       28\n",
       "28        28       11\n",
       "29        29        3\n",
       "...      ...      ...\n",
       "56473  56473        5\n",
       "56474  56474        3\n",
       "56475  56475       10\n",
       "56476  56476       29\n",
       "56477  56477       10\n",
       "56478  56478        4\n",
       "56479  56479       16\n",
       "56480  56480      107\n",
       "56481  56481        7\n",
       "56482  56482       55\n",
       "56483  56483        4\n",
       "56484  56484        8\n",
       "56485  56485        6\n",
       "56486  56486       12\n",
       "56487  56487        7\n",
       "56488  56488       20\n",
       "56489  56489        2\n",
       "56490  56490        1\n",
       "56491  56491        2\n",
       "56492  56492        2\n",
       "56493  56493        1\n",
       "56494  56494       18\n",
       "56495  56495        5\n",
       "56496  56496       11\n",
       "56497  56497        4\n",
       "56498  56498        2\n",
       "56499  56499       16\n",
       "56500  56500       12\n",
       "56501  56501        4\n",
       "56502  56502        3\n",
       "\n",
       "[56503 rows x 2 columns]"
      ]
     },
     "execution_count": 72,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "\n",
    "op_merge = filed2encode_f(op_merge, op_hd.wifi)\n",
    "op_merge.groupby(op_hd.wifi)[op_hd.UID].count().reset_index()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 74,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>geo_code</th>\n",
       "      <th>UID</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>1169445</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>75</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2</td>\n",
       "      <td>3005</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>3</td>\n",
       "      <td>15</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>4</td>\n",
       "      <td>383</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>5</td>\n",
       "      <td>81</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>6</td>\n",
       "      <td>166</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>7</td>\n",
       "      <td>177</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>8</td>\n",
       "      <td>2011</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>9</td>\n",
       "      <td>84</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>10</td>\n",
       "      <td>18</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>11</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>12</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>13</td>\n",
       "      <td>212</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>14</td>\n",
       "      <td>14</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>15</td>\n",
       "      <td>26</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>16</td>\n",
       "      <td>16</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>17</td>\n",
       "      <td>71</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>18</td>\n",
       "      <td>17</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>19</td>\n",
       "      <td>33</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>20</td>\n",
       "      <td>559</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>21</td>\n",
       "      <td>24</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>22</td>\n",
       "      <td>61</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>23</td>\n",
       "      <td>8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>24</td>\n",
       "      <td>467</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>25</td>\n",
       "      <td>102</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>26</td>\n",
       "      <td>17</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>27</td>\n",
       "      <td>68</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>28</td>\n",
       "      <td>74</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>29</td>\n",
       "      <td>16</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5254</th>\n",
       "      <td>5254</td>\n",
       "      <td>23</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5255</th>\n",
       "      <td>5255</td>\n",
       "      <td>16</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5256</th>\n",
       "      <td>5256</td>\n",
       "      <td>31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5257</th>\n",
       "      <td>5257</td>\n",
       "      <td>123</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5258</th>\n",
       "      <td>5258</td>\n",
       "      <td>222</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5259</th>\n",
       "      <td>5259</td>\n",
       "      <td>78</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5260</th>\n",
       "      <td>5260</td>\n",
       "      <td>133</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5261</th>\n",
       "      <td>5261</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5262</th>\n",
       "      <td>5262</td>\n",
       "      <td>1146</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5263</th>\n",
       "      <td>5263</td>\n",
       "      <td>453</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5264</th>\n",
       "      <td>5264</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5265</th>\n",
       "      <td>5265</td>\n",
       "      <td>245</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5266</th>\n",
       "      <td>5266</td>\n",
       "      <td>14</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5267</th>\n",
       "      <td>5267</td>\n",
       "      <td>122</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5268</th>\n",
       "      <td>5268</td>\n",
       "      <td>272</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5269</th>\n",
       "      <td>5269</td>\n",
       "      <td>863</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5270</th>\n",
       "      <td>5270</td>\n",
       "      <td>24</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5271</th>\n",
       "      <td>5271</td>\n",
       "      <td>157</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5272</th>\n",
       "      <td>5272</td>\n",
       "      <td>82</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5273</th>\n",
       "      <td>5273</td>\n",
       "      <td>9</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5274</th>\n",
       "      <td>5274</td>\n",
       "      <td>11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5275</th>\n",
       "      <td>5275</td>\n",
       "      <td>38</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5276</th>\n",
       "      <td>5276</td>\n",
       "      <td>86</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5277</th>\n",
       "      <td>5277</td>\n",
       "      <td>29</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5278</th>\n",
       "      <td>5278</td>\n",
       "      <td>1349</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5279</th>\n",
       "      <td>5279</td>\n",
       "      <td>68</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5280</th>\n",
       "      <td>5280</td>\n",
       "      <td>26</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5281</th>\n",
       "      <td>5281</td>\n",
       "      <td>1219</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5282</th>\n",
       "      <td>5282</td>\n",
       "      <td>27</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5283</th>\n",
       "      <td>5283</td>\n",
       "      <td>55</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5284 rows × 2 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "      geo_code      UID\n",
       "0            0  1169445\n",
       "1            1       75\n",
       "2            2     3005\n",
       "3            3       15\n",
       "4            4      383\n",
       "5            5       81\n",
       "6            6      166\n",
       "7            7      177\n",
       "8            8     2011\n",
       "9            9       84\n",
       "10          10       18\n",
       "11          11        3\n",
       "12          12        4\n",
       "13          13      212\n",
       "14          14       14\n",
       "15          15       26\n",
       "16          16       16\n",
       "17          17       71\n",
       "18          18       17\n",
       "19          19       33\n",
       "20          20      559\n",
       "21          21       24\n",
       "22          22       61\n",
       "23          23        8\n",
       "24          24      467\n",
       "25          25      102\n",
       "26          26       17\n",
       "27          27       68\n",
       "28          28       74\n",
       "29          29       16\n",
       "...        ...      ...\n",
       "5254      5254       23\n",
       "5255      5255       16\n",
       "5256      5256       31\n",
       "5257      5257      123\n",
       "5258      5258      222\n",
       "5259      5259       78\n",
       "5260      5260      133\n",
       "5261      5261        4\n",
       "5262      5262     1146\n",
       "5263      5263      453\n",
       "5264      5264        2\n",
       "5265      5265      245\n",
       "5266      5266       14\n",
       "5267      5267      122\n",
       "5268      5268      272\n",
       "5269      5269      863\n",
       "5270      5270       24\n",
       "5271      5271      157\n",
       "5272      5272       82\n",
       "5273      5273        9\n",
       "5274      5274       11\n",
       "5275      5275       38\n",
       "5276      5276       86\n",
       "5277      5277       29\n",
       "5278      5278     1349\n",
       "5279      5279       68\n",
       "5280      5280       26\n",
       "5281      5281     1219\n",
       "5282      5282       27\n",
       "5283      5283       55\n",
       "\n",
       "[5284 rows x 2 columns]"
      ]
     },
     "execution_count": 74,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 地理位置\n",
    "op_merge = filed2encode_f(op_merge, op_hd.geo_code)\n",
    "op_merge.groupby(op_hd.geo_code)[op_hd.UID].count().reset_index()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 76,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>UID</th>\n",
       "      <th>day</th>\n",
       "      <th>mode</th>\n",
       "      <th>success</th>\n",
       "      <th>time</th>\n",
       "      <th>os</th>\n",
       "      <th>version</th>\n",
       "      <th>device1</th>\n",
       "      <th>device2</th>\n",
       "      <th>device_code1</th>\n",
       "      <th>...</th>\n",
       "      <th>mac2</th>\n",
       "      <th>ip1</th>\n",
       "      <th>ip2</th>\n",
       "      <th>wifi</th>\n",
       "      <th>geo_code</th>\n",
       "      <th>ip1_sub</th>\n",
       "      <th>ip2_sub</th>\n",
       "      <th>Tag</th>\n",
       "      <th>data_effective_num</th>\n",
       "      <th>data_lose_rate</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>10035</td>\n",
       "      <td>30</td>\n",
       "      <td>76</td>\n",
       "      <td>1.0</td>\n",
       "      <td>17</td>\n",
       "      <td>102</td>\n",
       "      <td>50</td>\n",
       "      <td>4569</td>\n",
       "      <td>1535</td>\n",
       "      <td>46908</td>\n",
       "      <td>...</td>\n",
       "      <td>14735</td>\n",
       "      <td>137810</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>5153</td>\n",
       "      <td>23332</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>16</td>\n",
       "      <td>0.227273</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>10035</td>\n",
       "      <td>27</td>\n",
       "      <td>76</td>\n",
       "      <td>1.0</td>\n",
       "      <td>09</td>\n",
       "      <td>102</td>\n",
       "      <td>50</td>\n",
       "      <td>4569</td>\n",
       "      <td>1535</td>\n",
       "      <td>46908</td>\n",
       "      <td>...</td>\n",
       "      <td>14735</td>\n",
       "      <td>267386</td>\n",
       "      <td>0</td>\n",
       "      <td>48962</td>\n",
       "      <td>3756</td>\n",
       "      <td>27507</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>17</td>\n",
       "      <td>0.181818</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>10035</td>\n",
       "      <td>27</td>\n",
       "      <td>76</td>\n",
       "      <td>1.0</td>\n",
       "      <td>09</td>\n",
       "      <td>102</td>\n",
       "      <td>50</td>\n",
       "      <td>4569</td>\n",
       "      <td>1535</td>\n",
       "      <td>46908</td>\n",
       "      <td>...</td>\n",
       "      <td>14735</td>\n",
       "      <td>267386</td>\n",
       "      <td>0</td>\n",
       "      <td>48962</td>\n",
       "      <td>3756</td>\n",
       "      <td>27507</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>17</td>\n",
       "      <td>0.181818</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>10035</td>\n",
       "      <td>1</td>\n",
       "      <td>76</td>\n",
       "      <td>1.0</td>\n",
       "      <td>20</td>\n",
       "      <td>102</td>\n",
       "      <td>6</td>\n",
       "      <td>4569</td>\n",
       "      <td>1535</td>\n",
       "      <td>46908</td>\n",
       "      <td>...</td>\n",
       "      <td>14735</td>\n",
       "      <td>256421</td>\n",
       "      <td>0</td>\n",
       "      <td>41463</td>\n",
       "      <td>3756</td>\n",
       "      <td>20</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>17</td>\n",
       "      <td>0.181818</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>10035</td>\n",
       "      <td>26</td>\n",
       "      <td>76</td>\n",
       "      <td>1.0</td>\n",
       "      <td>12</td>\n",
       "      <td>102</td>\n",
       "      <td>50</td>\n",
       "      <td>4569</td>\n",
       "      <td>1535</td>\n",
       "      <td>46908</td>\n",
       "      <td>...</td>\n",
       "      <td>14735</td>\n",
       "      <td>259287</td>\n",
       "      <td>0</td>\n",
       "      <td>41463</td>\n",
       "      <td>3756</td>\n",
       "      <td>20</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>17</td>\n",
       "      <td>0.181818</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 23 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "     UID day  mode  success time   os  version  device1  device2  \\\n",
       "0  10035  30    76      1.0   17  102       50     4569     1535   \n",
       "1  10035  27    76      1.0   09  102       50     4569     1535   \n",
       "2  10035  27    76      1.0   09  102       50     4569     1535   \n",
       "3  10035   1    76      1.0   20  102        6     4569     1535   \n",
       "4  10035  26    76      1.0   12  102       50     4569     1535   \n",
       "\n",
       "   device_code1       ...         mac2     ip1  ip2   wifi  geo_code  ip1_sub  \\\n",
       "0         46908       ...        14735  137810    0      0      5153    23332   \n",
       "1         46908       ...        14735  267386    0  48962      3756    27507   \n",
       "2         46908       ...        14735  267386    0  48962      3756    27507   \n",
       "3         46908       ...        14735  256421    0  41463      3756       20   \n",
       "4         46908       ...        14735  259287    0  41463      3756       20   \n",
       "\n",
       "   ip2_sub  Tag  data_effective_num  data_lose_rate  \n",
       "0        0    0                  16        0.227273  \n",
       "1        0    0                  17        0.181818  \n",
       "2        0    0                  17        0.181818  \n",
       "3        0    0                  17        0.181818  \n",
       "4        0    0                  17        0.181818  \n",
       "\n",
       "[5 rows x 23 columns]"
      ]
     },
     "execution_count": 76,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "op_merge.head(5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 75,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "123\n"
     ]
    }
   ],
   "source": [
    "pd.to_pickle(op_merge,features_base_path+\"op_merge.pkl\")\n",
    "print(123)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 648x504 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 648x504 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\nEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYn\nQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6E\nEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYn\nQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6E\nEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYn\nQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6E\nEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYn\nQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6E\nEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYn\nQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6E\nEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYn\nQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6E\nEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYn\nQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6E\nEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYn\nQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6EEAYnQS6E\n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\n",
      "text/plain": [
       "<Figure size 648x504 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "\n",
    "'''\n",
    "目标：比较One-Class SVM、EllipticEnvelope、Isolation Forest、\n",
    "LocalOutlierFactor这4种异常检测算法在相同数据集下的异常检测效果。\n",
    "'''\n",
    "\n",
    "import numpy as np\n",
    "from scipy import stats\n",
    "import matplotlib.pyplot as plt\n",
    "import matplotlib.font_manager\n",
    "\n",
    "from sklearn import svm\n",
    "from sklearn.covariance import EllipticEnvelope\n",
    "from sklearn.ensemble import IsolationForest\n",
    "from sklearn.neighbors import LocalOutlierFactor\n",
    "\n",
    "rng = np.random.RandomState(42)\n",
    "\n",
    "# 设置样本数量、异常样本比例，不同类样本分离度\n",
    "n_samples = 256\n",
    "outliers_fraction = 0.25\n",
    "clusters_separation = [0, 1, 2]\n",
    "\n",
    "# 定义各种异常检测方法\n",
    "classifiers = {\n",
    "    \"One-Class SVM\": svm.OneClassSVM(nu=0.95 * outliers_fraction + 0.05, kernel='rbf', gamma=0.1),\n",
    "    \"Roubst covariance\": EllipticEnvelope(contamination=outliers_fraction),\n",
    "    \"Isolation Forest\": IsolationForest(max_samples=n_samples,\n",
    "                                        contamination=outliers_fraction,\n",
    "                                        random_state=rng),\n",
    "    \"Local Outlier Factor\": LocalOutlierFactor(n_neighbors=35,\n",
    "                                               contamination=outliers_fraction)}\n",
    "# 样本集各变量赋初值\n",
    "xx, yy = np.meshgrid(np.linspace(-7, 7, 100), np.linspace(-7, 7, 100))\n",
    "n_inliers = int((1 - outliers_fraction) * n_samples)\n",
    "n_outliers = int(outliers_fraction * n_samples)\n",
    "ground_truth = np.ones(n_samples, dtype=int)\n",
    "ground_truth[-n_outliers:] = -1\n",
    "\n",
    "# 在不同的样本分离度下测试异常检测效果\n",
    "for i, offset in enumerate(clusters_separation):\n",
    "    np.random.seed(42)\n",
    "    # 生成数据\n",
    "    X1 = 0.3 * np.random.randn(n_inliers // 2, 2) - offset\n",
    "    X2 = 0.3 * np.random.randn(n_inliers // 2, 2) + offset\n",
    "    X = np.r_[X1, X2]\n",
    "    X = np.r_[X, np.random.uniform(low=-6, high=6, size=(n_outliers, 2))]\n",
    "\n",
    "    # 模型匹配\n",
    "    plt.figure(figsize=(9, 7))\n",
    "    for j, (clf_name, clf) in enumerate(classifiers.items()):\n",
    "        # 数据匹配\n",
    "        if clf_name == \"Local Outlier Factor\":\n",
    "            y_pred = clf.fit_predict(X)\n",
    "            scores_pred = clf.negative_outlier_factor_\n",
    "        else:\n",
    "            clf.fit(X)\n",
    "            scores_pred = clf.decision_function(X)\n",
    "            y_pred = clf.predict(X)\n",
    "        threshold = stats.scoreatpercentile(scores_pred, 100 * outliers_fraction)\n",
    "        n_errors = (y_pred != ground_truth).sum()\n",
    "\n",
    " # 画图\n",
    "if clf_name == \"Local Outlier Factor\":\n",
    "    Z = clf._decision_function(np.c_[xx.ravel(), yy.ravel()])\n",
    "else:\n",
    "    Z = clf.decision_function(np.c_[xx.ravel(), yy.ravel()])\n",
    "Z = Z.reshape(xx.shape)\n",
    "subplot = plt.subplot(2, 2, j + 1)\n",
    "subplot.contourf(xx, yy, Z, levels=np.linspace(Z.min(), threshold, 7),\n",
    "                 cmap=plt.cm.Blues_r)\n",
    "a = subplot.contour(xx, yy, Z, levels=[threshold], linewidths=2, colors='red')\n",
    "subplot.contourf(xx, yy, Z, levels=[threshold, Z.max()], colors='orange')\n",
    "# 正常样本\n",
    "b = subplot.scatter(X[:-n_outliers, 0], X[:-n_outliers, 1], c='white', s=20, edgecolor='k')\n",
    "# 异常样本\n",
    "c = subplot.scatter(X[-n_outliers:, 0], X[-n_outliers:, 1], c='black', s=20, edgecolor='k')\n",
    "subplot.axis('tight')\n",
    "subplot.legend(\n",
    "    [a.collections[0], b, c],\n",
    "    ['learned decision function', 'true inliers', 'true outliers'],\n",
    "    prop=matplotlib.font_manager.FontProperties(size=10),\n",
    "    loc='lower right')\n",
    "subplot.set_xlabel(\"{}.{}({})\".format(j + 1, clf_name, n_errors))\n",
    "subplot.set_xlim((-7, 7))\n",
    "subplot.set_ylim((-7, 7))\n",
    "plt.subplots_adjust(0.04, 0.1, 0.96, 0.94, 0.1, 0.20)\n",
    "plt.suptitle(\"Outlier detection{}\".format(i + 1))\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 特征：\n",
    "1)数据缺失率、数据异常率\n",
    "2）用户特征\n",
    "3）场景特征\n",
    "4）物品特征\n",
    "5）统计特征\n",
    "6）独热编码\n",
    "7）相关性"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "#1)数据缺失率、数据异常率\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>day</th>\n",
       "      <th>UID</th>\n",
       "      <th>Tag</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>141123</td>\n",
       "      <td>141123</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2</td>\n",
       "      <td>114424</td>\n",
       "      <td>114424</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3</td>\n",
       "      <td>88194</td>\n",
       "      <td>88194</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4</td>\n",
       "      <td>80513</td>\n",
       "      <td>80513</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5</td>\n",
       "      <td>87151</td>\n",
       "      <td>87151</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>6</td>\n",
       "      <td>121665</td>\n",
       "      <td>121665</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>7</td>\n",
       "      <td>101354</td>\n",
       "      <td>101354</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>8</td>\n",
       "      <td>149305</td>\n",
       "      <td>149305</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>9</td>\n",
       "      <td>90504</td>\n",
       "      <td>90504</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>10</td>\n",
       "      <td>72109</td>\n",
       "      <td>72109</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>11</td>\n",
       "      <td>64079</td>\n",
       "      <td>64079</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>12</td>\n",
       "      <td>68010</td>\n",
       "      <td>68010</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>13</td>\n",
       "      <td>100200</td>\n",
       "      <td>100200</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>14</td>\n",
       "      <td>85481</td>\n",
       "      <td>85481</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>15</td>\n",
       "      <td>173374</td>\n",
       "      <td>173374</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>16</td>\n",
       "      <td>129252</td>\n",
       "      <td>129252</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>17</td>\n",
       "      <td>81880</td>\n",
       "      <td>81880</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>18</td>\n",
       "      <td>86997</td>\n",
       "      <td>86997</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>19</td>\n",
       "      <td>80997</td>\n",
       "      <td>80997</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>20</td>\n",
       "      <td>139452</td>\n",
       "      <td>139452</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>21</td>\n",
       "      <td>103154</td>\n",
       "      <td>103154</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>22</td>\n",
       "      <td>151889</td>\n",
       "      <td>151889</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>23</td>\n",
       "      <td>104415</td>\n",
       "      <td>104415</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>24</td>\n",
       "      <td>69027</td>\n",
       "      <td>69027</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>25</td>\n",
       "      <td>92315</td>\n",
       "      <td>92315</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>26</td>\n",
       "      <td>81476</td>\n",
       "      <td>81476</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>27</td>\n",
       "      <td>151844</td>\n",
       "      <td>151844</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>28</td>\n",
       "      <td>123464</td>\n",
       "      <td>123464</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>29</td>\n",
       "      <td>148716</td>\n",
       "      <td>148716</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>30</td>\n",
       "      <td>109137</td>\n",
       "      <td>109137</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>30</th>\n",
       "      <td>31</td>\n",
       "      <td>38391</td>\n",
       "      <td>38391</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    day     UID     Tag\n",
       "0     1  141123  141123\n",
       "1     2  114424  114424\n",
       "2     3   88194   88194\n",
       "3     4   80513   80513\n",
       "4     5   87151   87151\n",
       "5     6  121665  121665\n",
       "6     7  101354  101354\n",
       "7     8  149305  149305\n",
       "8     9   90504   90504\n",
       "9    10   72109   72109\n",
       "10   11   64079   64079\n",
       "11   12   68010   68010\n",
       "12   13  100200  100200\n",
       "13   14   85481   85481\n",
       "14   15  173374  173374\n",
       "15   16  129252  129252\n",
       "16   17   81880   81880\n",
       "17   18   86997   86997\n",
       "18   19   80997   80997\n",
       "19   20  139452  139452\n",
       "20   21  103154  103154\n",
       "21   22  151889  151889\n",
       "22   23  104415  104415\n",
       "23   24   69027   69027\n",
       "24   25   92315   92315\n",
       "25   26   81476   81476\n",
       "26   27  151844  151844\n",
       "27   28  123464  123464\n",
       "28   29  148716  148716\n",
       "29   30  109137  109137\n",
       "30   31   38391   38391"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "op_day = op_merge[[tag_hd.UID,op_hd.day,tag_hd.Tag]].groupby(op_hd.day)\n",
    "op_day.count().reset_index()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "anaconda-cloud": {},
  "kernelspec": {
   "display_name": "Python [conda root]",
   "language": "python",
   "name": "conda-root-py"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.1"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
